[
  {
    "path": ".esdoc.json",
    "content": "{\n\t\"source\"      : \"./src\",\n\t\"destination\" : \"./docs\",\n\t\"includes\"    : [\"\\\\.js$\", \"\\\\.mjs$\"],\n\n\t\"plugins\" : [\n\t\t{\n\t\t\t\"name\" : \"esdoc-standard-plugin\",\n\n\t\t\t\"option\" : {\n\t\t\t\t\"accessor\": {\n\t\t\t\t\t\"access\" : [\"public\", \"protected\"],\n\t\t\t\t\t\"autoPrivate\" : true\n\t\t\t\t},\n\n\t\t\t\t\"lint\": {\"enable\": false},\n\t\t\t\t\"typeInference\": {\"enable\": false}\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": ".gitignore",
    "content": "node_modules\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2017 Sinova\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "Collisions\n===============================================================================\n\n**Collisions** is a JavaScript library for quickly and accurately detecting collisions between Polygons, Circles, and Points. It combines the efficiency of a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for broad-phase searching and the accuracy of the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for narrow-phase collision testing.\n\n* [Installation](#anchor-installation)\n* [Documentation](#anchor-documentation)\n* [Demos](#anchor-demos)\n* [Usage](#anchor-usage)\n* [Getting Started](#anchor-getting-started)\n\t1. [Creating a Collision System](#anchor-step-1)\n\t2. [Creating, Inserting, Updating, and Removing Bodies](#anchor-step-2)\n\t3. [Updating the Collision System](#anchor-step-3)\n\t4. [Testing for Collisions](#anchor-step-4)\n\t5. [Getting Detailed Collision Information](#anchor-step-5)\n\t6. [Negating Overlap](#anchor-step-6)\n* [Lines](#anchor-lines)\n* [Concave Polygons](#anchor-concave-polygons)\n* [Rendering](#anchor-rendering)\n* [Bounding Volume Padding](#anchor-bounding-volume-padding)\n* [Only using SAT](#anchor-only-using-sat)\n* [FAQ](#anchor-faq)\n\n<a name=\"anchor-installation\"></a>\nInstallation\n===============================================================================\n\n```bash\nnpm install collisions\n```\n\n> **Note:** This library uses the native ECMAScript Module syntax. Most environments support native modules, but the following exceptions apply:\n>\n> * Node.js (9.2.0) requires the [--experimental-modules](https://nodejs.org/api/esm.html) flag\n> * Firefox (54) requires the [dom.moduleScripts.enabled](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Browser_compatibility) setting\n>\n> Bundling solutions such as [Webpack](https://webpack.js.org/) or [Rollup.js](https://rollupjs.org/) make native modules compatible with all environments.\n\n<a name=\"anchor-documentation\"></a>\nDocumentation\n===============================================================================\n\nView the [documentation](https://sinova.github.com/Collisions/) (this README is also there).\n\n<a name=\"anchor-demos\"></a>\nDemos\n===============================================================================\n\n* [Tank](https://sinova.github.com/Collisions/demo/)\n* [Stress Test](https://sinova.github.com/Collisions/demo/?stress)\n\n<a name=\"anchor-usage\"></a>\nUsage\n===============================================================================\n\n```JavaScript\nimport Collisions from 'collisions';\n\n// Create the collision system\nconst system = new Collisions();\n\n// Create a Result object for collecting information about the collisions\nconst result = system.createResult();\n\n// Create the player (represented by a Circle)\nconst player = system.createCircle(100, 100, 10);\n\n// Create some walls (represented by Polygons)\nconst wall1 = system.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\nconst wall2 = system.createPolygon(200, 100, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 2.2);\nconst wall3 = system.createPolygon(400, 50, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 0.7);\n\n// Update the collision system\nsystem.update();\n\n// Get any potential collisions (this quickly rules out walls that have no chance of colliding with the player)\nconst potentials = player.potentials();\n\n// Loop through the potential wall collisions\nfor(const wall of potentials) {\n\t// Test if the player collides with the wall\n\tif(player.collides(wall, result)) {\n\t\t// Push the player out of the wall\n\t\tplayer.x -= result.overlap * result.overlap_x;\n\t\tplayer.y -= result.overlap * result.overlap_y;\n\t}\n}\n```\n\n<a name=\"anchor-getting-started\"></a>\nGetting Started\n===============================================================================\n\n<a name=\"anchor-step-1\"></a>\n## 1. Creating a Collision System\n\n**Collisions** provides functions for performing both broad-phase and narrow-phase collision tests. In order to take full advantage of both phases, bodies need to be tracked within a collision system.\n\nCall the Collisions constructor to create a collision system.\n\n```JavaScript\nimport Collisions from 'collisions';\n\nconst system = new Collisions();\n```\n\n<a name=\"anchor-step-2\"></a>\n## 2. Creating, Inserting, Updating, and Removing Bodies\n\n**Collisions** supports the following body types:\n\n* **Circle:** A shape with infinite sides equidistant from a single point\n* **Polygon:** A shape made up of line segments\n* **Point:** A single coordinate\n\nTo use them, import the desired body class, call its constructor, and insert it into the collision system using `insert()`.\n\n```JavaScript\nimport {Collisions, Circle, Polygon, Point} from 'collisions';\n\nconst system = new Collisions();\n\nconst circle  = new Circle(100, 100, 10);\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst line    = new Polygon(200, 5, [[-30, 0], [10, 20]]);\nconst point   = new Point(10, 10);\n\nsystem.insert(circle)\nsystem.insert(polygon, line, point);\n```\n\nCollision systems expose several convenience functions for creating bodies and inserting them into the system in one step. This also avoids having to import the different body classes.\n\n```JavaScript\nimport Collisions from 'collisions';\n\nconst system = new Collisions();\n\nconst circle  = system.createCircle(100, 100, 10);\nconst polygon = system.createPolygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst line    = system.createPolygon(200, 5, [[-30, 0], [10, 20]]);\nconst point   = system.createPoint(10, 10);\n```\n\nAll bodies have `x` and `y` properties that can be manipulated. Additionally, `Circle` bodies have a `scale` property that can be used to scale their overall size. `Polygon` bodies have `scale_x` and `scale_y` properties to scale their points along a particular axis and an `angle` property to rotate their points around their current position (using radians).\n\n```JavaScript\ncircle.x     = 20;\ncircle.y     = 30;\ncircle.scale = 1.5;\n\npolygon.x       = 40;\npolygon.y       = 100;\npolygon.scale_x = 1.2;\npolygon.scale_y = 3.4;\npolygon.angle   = 1.2;\n```\n\nAnd, of course, bodies can be removed when they are no longer needed.\n\n```JavaScript\nsystem.remove(polygon, point);\ncircle.remove();\n```\n\n<a name=\"anchor-step-3\"></a>\n## 3. Updating the Collision System\n\nCollision systems need to be updated when the bodies within them change. This includes when bodies are inserted, removed, or when their properties change (e.g. position, angle, scaling, etc.). Updating a collision system is done by calling `update()` and should typically occur once per frame.\n\n```JavaScript\nsystem.update();\n```\n\nThe optimal time for updating a collision system is **after** its bodies have changed and **before** collisions are tested. For example, a game loop might use the following order of events:\n\n```JavaScript\nfunction gameLoop() {\n\thandleInput();\n\tprocessGameLogic();\n\n\tsystem.update();\n\n\thandleCollisions();\n\trender();\n}\n```\n\n<a name=\"anchor-step-4\"></a>\n## 4. Testing for Collisions\n\nWhen testing for collisions on a body, it is generally recommended that a broad-phase search be performed first by calling `potentials()` in order to quickly rule out bodies that are too far away to collide. **Collisions** uses a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for its broad-phase search. Calling `potentials()` on a body traverses the BVH and builds a list of potential collision candidates.\n\n```JavaScript\nconst potentials = polygon.potentials();\n```\n\nOnce a list of potential collisions is acquired, loop through them and perform a narrow-phase collision test using `collides()`. **Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests.\n\n```JavaScript\nconst potentials = polygon.potentials();\n\nfor(const body of potentials) {\n\tif(polygon.collides(body)) {\n\t\tconsole.log('Collision detected!');\n\t}\n}\n```\n\nIt is also possible to skip the broad-phase search entirely and call `collides()` directly on two bodies.\n\n> **Note:** Skipping the broad-phase search is not recommended. When testing for collisions against large numbers of bodies, performing a broad-phase search using a BVH is *much* more efficient.\n\n```JavaScript\nif(polygon.collides(line)) {\n\tconsole.log('Collision detected!');\n}\n```\n\n<a name=\"anchor-step-5\"></a>\n## 5. Getting Detailed Collision Information\n\nThere is often a need for detailed information about a collision in order to react to it appropriately. This information is stored using a `Result` object. `Result` objects have several properties set on them when a collision occurs, all of which are described in the [documentation](https://sinova.github.com/Collisions/).\n\nFor convenience, there are several ways to create a `Result` object. `Result` objects do not belong to any particular collision system, so any of the following methods for creating one can be used interchangeably. This also means the same `Result` object can be used for collisions across multiple systems.\n\n> **Note:** It is highly recommended that `Result` objects be recycled when performing multiple collision tests in order to save memory. The following example creates multiple `Result` objects strictly as a demonstration.\n\n```JavaScript\nimport {Collisions, Result, Polygon} from 'collisions';\n\nconst system     = new Collisions();\nconst my_polygon = new Polygon(100, 100, 10);\n\nconst result1 = new Result();\nconst result2 = Collisions.createResult();\nconst result3 = system.createResult();\nconst result4 = Polygon.createResult();\nconst result5 = my_polygon.createResult();\n```\n\nTo use a `Result` object, pass it into `collides()`. If a collision occurs, it will be populated with information about the collision. Take note in the following example that the same `Result` object is being reused each iteration.\n\n```JavaScript\nconst result     = system.createResult();\nconst potentials = point.potentials();\n\nfor(const body of potentials) {\n\tif(point.collides(body, result)) {\n\t\tconsole.log(result);\n\t}\n}\n```\n\n<a name=\"anchor-step-6\"></a>\n## 6. Negating Overlap\n\nA common use-case in collision detection is negating overlap when a collision occurs (such as when a player hits a wall). This can be done using the collision information in a `Result` object (see [Getting Detailed Collision Information](#anchor-getting-detailed-collision-information)).\n\nThe three most useful properties on a `Result` object are `overlap`, `overlap_x`, and `overlap_y`. Together, these values describe how much and in what direction the source body is overlapping the target body. More specifically, `overlap_x` and `overlap_y` describe the direction vector, and `overlap` describes the magnitude of that vector.\n\nThese values can be used to \"push\" one body out of another using the minimum distance required. More simply, subtracting this vector from the source body's position will cause the bodies to no longer collide. Here's an example:\n\n```JavaScript\nif(player.collides(wall, result)) {\n\tplayer.x -= result.overlap * result.overlap_x;\n\tplayer.y -= result.overlap * result.overlap_y;\n}\n```\n\n<a name=\"anchor-lines\"></a>\nLines\n===============================================================================\n\nCreating a line is simply a matter of creating a single-sided polygon (i.e. a polygon with only two coordinate pairs).\n\n```JavaScript\nconst line = new Polygon(200, 5, [[-30, 0], [10, 20]]);\n```\n\n<a name=\"anchor-concave-polygons\"></a>\nConcave Polygons\n===============================================================================\n\n**Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests. One caveat to SAT is that it only works properly on convex bodies. However, concave polygons can be \"faked\" by using a series of [Lines](#anchor-lines). Keep in mind that a polygon drawn using [Lines](#anchor-lines) is \"hollow\".\n\nHandling true concave polygons requires breaking them down into their component convex polygons (Convex Decomposition) and testing them for collisions individually. There are plans to integrate this functionality into the library in the future, but for now, check out [poly-decomp.js](https://github.com/schteppe/poly-decomp.js).\n\n<a name=\"anchor-rendering\"></a>\nRendering\n===============================================================================\n\nFor debugging, it is often useful to be able to visualize the collision bodies. All of the bodies in a Collision system can be drawn to a `<canvas>` element by calling `draw()` and passing in the canvas' 2D context.\n\n```JavaScript\nconst canvas  = document.createElement('canvas');\nconst context = canvas.getContext('2d');\n\n// ...\ncontext.strokeStyle = '#FFFFFF';\ncontext.beginPath();\n\nsystem.draw(context);\n\ncontext.stroke();\n```\n\nBodies can be individually drawn as well.\n\n```JavaScript\ncontext.strokeStyle = '#FFFFFF';\ncontext.beginPath();\n\npolygon.draw(context);\ncircle.draw(context);\n\ncontext.stroke();\n```\n\nThe BVH can also be drawn to help test [Bounding Volume Padding](#anchor-bounding-volume-padding).\n\n```JavaScript\ncontext.strokeStyle = '#FFFFFF';\ncontext.beginPath();\n\nsystem.drawBVH(context);\n\ncontext.stroke();\n```\n\n<a name=\"anchor-bounding-volume-padding\"></a>\nBounding Volume Padding\n===============================================================================\n\nWhen bodies move around within a collision system, the internal BVH has to remove and reinsert the body in order to determine where it belongs in the hierarchy. This is one of the most costly operations in maintaining a BVH. In general, most projects will never see a performance issue from this unless they are dealing with thousands of moving bodies at once. In these cases, it can *sometimes* be beneficial to \"pad\" the bounding volumes of each body so that the BVH doesn't need to remove and reinsert bodies that haven't changed position too much. In other words, padding the bounding volume allows \"breathing room\" for the body within it to move around without being flagged for an update.\n\nThe tradeoff is that the slightly larger bounding volumes can trigger more false-positives during the broad-phase `potentials()` search. While the narrow phase will ultimately rule these out using Axis Aligned Bounding Box tests, putting too much padding on bodies that are crowded can lead to too many false positives and a diminishing return in performance. It is up to the developer to determine how much padding each body will need based on how much it can move within a single frame and how crowded the bodies in the system are.\n\nPadding can be added to a body when instantiating it (see the [documentation](https://sinova.github.com/Collisions/) for each body) or at any time by changing its `padding` property.\n\n```JavaScript\nconst padding = 5;\nconst circle  = new Circle(100, 100, 10, 1, padding);\n\n// ...\n\ncircle.padding = 10;\n```\n\n<a name=\"anchor-only-using-sat\"></a>\nOnly using SAT\n===============================================================================\n\nSome projects may only have a need to perform SAT collision tests without broad-phase searching. This can be achieved by avoiding collision systems altogether and only using the `collides()` function.\n\n```JavaScript\nimport {Circle, Polygon, Result} from 'collisions';\n\nconst circle  = new Circle(45, 45, 20);\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst result  = new Result();\n\nif(circle.collides(polygon, result)) {\n\tconsole.log(result);\n}\n```\n\n<a name=\"anchor-faq\"></a>\nFAQ\n===============================================================================\n\n## Why shouldn't I just use a physics engine?\n\nProjects requiring physics are encouraged to use one of the several physics engines out there (e.g. [Matter.js](https://github.com/liabru/matter-js), [Planck.js](https://github.com/shakiba/planck.js)). However, many projects end up using physics engines solely for collision detection, and developers often find themselves having to work around some of the assumptions that these engines make (gravity, velocity, friction, etc.). **Collisions** was created to provide robust collision detection and nothing more. In fact, a physics engine could easily be written with **Collisions** at its core.\n\n## Why does the source code seem to have quite a bit of copy/paste?\n\n**Collisions** was written with performance as its primary focus. Conscious decisions were made to sacrifice readability in order to avoid the overhead of unnecessary function calls or property lookups.\n\n## Sometimes bodies can \"squeeze\" between two other bodies. What's going on?\n\nThis isn't caused by faulty collisions, but rather how a project handles its collision responses. There are several ways to go about responding to collisions, the most common of which is to loop through all bodies, find their potential collisions, and negate any overlaps that are found one at a time. Since the overlaps are negated one at a time, the last negation takes precedence and can cause the body to be pushed into another body.\n\nOne workaround is to resolve each collision, update the collision system, and repeat until no collisions are found. Keep in mind that this can potentially lead to infinite loops if the two colliding bodies equally negate each other. Another solution is to collect all overlaps and combine them into a single resultant vector and then push the body out, but this can get rather complicated.\n\nThere is no perfect solution. How collisions are handled depends on the project.\n"
  },
  {
    "path": "collisions.d.ts",
    "content": "/**\r\n * The base class for bodies used to detect collisions\r\n * @export\r\n * @abstract\r\n * @class Body\r\n */\r\nexport abstract class Body {\r\n    x: number;\r\n    y: number;\r\n    padding: number;\r\n\r\n    /**\r\n     * Determines if the body is colliding with another body\r\n     * @param {Circle|Polygon|Point} target The target body to test against\r\n     * @param {Result} [result = null] A Result object on which to store information about the collision\r\n     * @param {boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\r\n     * @returns {boolean}\r\n     */\r\n    collides(target: Body, result?: Result, aabb?: boolean): boolean;\r\n\r\n    /**\r\n     * Returns a list of potential collisions\r\n     * @returns {Body[]}\r\n     */\r\n    potentials(): Body[];\r\n\r\n    /**\r\n     * Removes the body from its current collision system\r\n     */\r\n    remove(): void;\r\n\r\n    /**\r\n     * Draws the bodies within the system to a CanvasRenderingContext2D's current path\r\n     * @param {CanvasRenderingContext2D} context\r\n     */\r\n    draw(context: CanvasRenderingContext2D): void;\r\n}\r\n\r\n/**\r\n * A circle used to detect collisions\r\n * @export\r\n * @class Circle\r\n * @extends {Body}\r\n */\r\nexport class Circle extends Body {\r\n    /**\r\n     * @constructor\r\n     * @param {number} [x = 0] The starting X coordinate\r\n     * @param {number} [y = 0] The starting Y coordinate\r\n     * @param {number} [radius = 0] The radius\r\n     * @param {number} [scale = 1] The scale\r\n     * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\r\n     */\r\n    constructor(x?: number, y?: number, radius?: number, scale?: number, padding?: number);\r\n    radius: number;\r\n    scale: number;\r\n}\r\n\r\n/**\r\n * A polygon used to detect collisions\r\n * @export\r\n * @class Polygon\r\n * @extends {Body}\r\n */\r\nexport class Polygon extends Body {\r\n    /**\r\n     * @constructor\r\n     * @param {number} [x = 0] The starting X coordinate\r\n     * @param {number} [y = 0] The starting Y coordinate\r\n     * @param {number[][]} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\r\n     * @param {number} [angle = 0] The starting rotation in radians\r\n     * @param {number} [scale_x = 1] The starting scale along the X axis\r\n     * @param {number} [scale_y = 1] The starting scale long the Y axis\r\n     * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\r\n     */\r\n    constructor(x?: number, y?: number, points?: number[][], angle?: number, scale_x?: number, scale_y?: number, padding?: number);\r\n    angle: number;\r\n    scale_x: number;\r\n    scale_y: number;\r\n}\r\n\r\n/**\r\n * A point used to detect collisions\r\n * @export\r\n * @class Point\r\n * @extends {Body}\r\n */\r\nexport class Point extends Body {\r\n    constructor(x?: number, y?: number, padding?: number);\r\n}\r\n\r\n/**\r\n * An object used to collect the detailed results of a collision test\r\n *\r\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\r\n * @export\r\n * @class Result\r\n */\r\nexport class Result {\r\n    collision: boolean;\r\n    a: Body;\r\n    b: Body;\r\n    a_in_b: boolean;\r\n    b_in_a: boolean;\r\n    overlap: number;\r\n    overlap_x: number;\r\n    overlap_y: number;\r\n}\r\n\r\n/**\r\n * A collision system used to track bodies in order to improve collision detection performance\r\n * @export\r\n * @class Collisions\r\n */\r\nexport class Collisions {\r\n    /**\r\n     * Creates a {@link Circle} and inserts it into the collision system\r\n     * @param {number} [x = 0] The starting X coordinate\r\n     * @param {number} [y = 0] The starting Y coordinate\r\n     * @param {number} [radius = 0] The radius\r\n     * @param {number} [scale = 1] The scale\r\n     * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\r\n     * @returns {Circle}\r\n     */\r\n    createCircle(x?: number, y?: number, radius?: number, scale?: number, padding?: number): Circle;\r\n\r\n    /**\r\n     * Creates a {@link Polygon} and inserts it into the collision system\r\n     * @param {number} [x = 0] The starting X coordinate\r\n     * @param {number} [y = 0] The starting Y coordinate\r\n     * @param {number[][]} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\r\n     * @param {number} [angle = 0] The starting rotation in radians\r\n     * @param {number} [scale_x = 1] The starting scale along the X axis\r\n     * @param {number} [scale_y = 1] The starting scale long the Y axis\r\n     * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\r\n     * @returns {Polygon}\r\n     */\r\n    createPolygon(x?: number, y?: number, points?: number[][], angle?: number, scale_x?: number, scale_y?: number, padding?: number): Polygon;\r\n\r\n    /**\r\n     * Creates a {@link Point} and inserts it into the collision system\r\n     * @param {number} [x = 0] The starting X coordinate\r\n     * @param {number} [y = 0] The starting Y coordinate\r\n     * @param {number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\r\n     * @returns {Point}\r\n     */\r\n    createPoint(x?: number, y?: number, padding?: number): Point;\r\n\r\n    /**\r\n     * Creates a {@link Result} used to collect the detailed results of a collision test\r\n     * @returns {Result}\r\n     */\r\n    createResult(): Result;\r\n\r\n    /**\r\n     * Inserts bodies into the collision system\r\n     * @param {Body} bodies\r\n     * @returns {Collisions}\r\n     */\r\n    insert(bodies: Body): Collisions;\r\n\r\n    /**\r\n     * Removes bodies from the collision system\r\n     * @param {Body} bodies\r\n     * @returns {Collisions}\r\n     */\r\n    remove(bodies: Body): Collisions;\r\n\r\n    /**\r\n     * Updates the collision system. This should be called before any collisions are tested.\r\n     * @returns {Collisions}\r\n     */\r\n    update(): Collisions;\r\n\r\n    /**\r\n     * Returns a list of potential collisions for a body\r\n     * @param {Body} [body]\r\n     * @returns {Body[]}\r\n     */\r\n    potentials(body?: Body): Body[];\r\n\r\n    /**\r\n     * Determines if two bodies are colliding\r\n     * @param {Body} source\r\n     * @param {Body} target\r\n     * @param {Result} [result]\r\n     * @param {boolean} [aabb]\r\n     * @returns {boolean}\r\n     */\r\n    collides(source: Body, target: Body, result?: Result, aabb?: boolean): boolean;\r\n\r\n    /**\r\n     * Draws the bodies within the system to a CanvasRenderingContext2D's current path\r\n     * @param {CanvasRenderingContext2D} context\r\n     */\r\n    draw(context: CanvasRenderingContext2D): void;\r\n\r\n    /**\r\n     * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\r\n     * @param {CanvasRenderingContext2D} context\r\n     */\r\n    drawBVH(context: CanvasRenderingContext2D): void;\r\n}"
  },
  {
    "path": "demo/examples/Stress.mjs",
    "content": "import Collisions from '../../src/Collisions.mjs';\n\nconst result = Collisions.createResult();\nconst width  = 800;\nconst height = 600;\nconst count  = 500\nconst speed  = 1;\nconst size   = 5;\n\nlet frame     = 0;\nlet fps_total = 0;\n\nexport default class Stress {\n\tconstructor() {\n\t\tthis.element    = document.createElement('div');\n\t\tthis.canvas     = document.createElement('canvas');\n\t\tthis.context    = this.canvas.getContext('2d');\n\t\tthis.collisions = new Collisions();\n\t\tthis.bodies     = [];\n\t\tthis.polygons   = 0;\n\t\tthis.circles    = 0;\n\n\t\tthis.canvas.width  = width;\n\t\tthis.canvas.height = height;\n\t\tthis.context.font  = '24px Arial';\n\n\t\t// World bounds\n\t\tthis.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, 0], [width, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, height], [0, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[0, height], [0, 0]]);\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tthis.createShape(!random(0, 49));\n\t\t}\n\n\t\tthis.element.innerHTML = `\n\t\t\t<div><b>Total:</b> ${count}</div>\n\t\t\t<div><b>Polygons:</b> ${this.polygons}</div>\n\t\t\t<div><b>Circles:</b> ${this.circles}</div>\n\t\t\t<div><label><input id=\"bvh\" type=\"checkbox\"> Show Bounding Volume Hierarchy</label></div>\n\t\t`;\n\n\t\tthis.bvh_checkbox = this.element.querySelector('#bvh');\n\t\tthis.element.appendChild(this.canvas);\n\n\t\tconst self = this;\n\n\t\tlet time = performance.now();\n\n\t\tthis.frame = requestAnimationFrame(function frame() {\n\t\t\tconst current_time = performance.now();\n\n\t\t\tself.update(1000 / (current_time - time));\n\t\t\tself.frame = requestAnimationFrame(frame);\n\n\t\t\ttime = current_time;\n\t\t});\n\t}\n\n\tupdate(fps) {\n\t\tthis.collisions.update();\n\n\t\t++frame;\n\t\tfps_total += fps;\n\n\t\tconst average_fps = Math.round(fps_total / frame);\n\n\t\tif(frame > 100) {\n\t\t\tframe     = 1;\n\t\t\tfps_total = average_fps;\n\t\t}\n\n\t\tfor(let i = 0; i < this.bodies.length; ++i) {\n\t\t\tconst body = this.bodies[i];\n\n\t\t\tbody.x += body.direction_x * speed;\n\t\t\tbody.y += body.direction_y * speed;\n\n\t\t\tconst potentials = body.potentials();\n\n\t\t\tfor(const body2 of potentials) {\n\t\t\t\tif(body.collides(body2, result)) {\n\t\t\t\t\tbody.x -= result.overlap * result.overlap_x;\n\t\t\t\t\tbody.y -= result.overlap * result.overlap_y;\n\n\t\t\t\t\tlet dot = body.direction_x * result.overlap_y + body.direction_y * -result.overlap_x;\n\n\t\t\t\t\tbody.direction_x = 2 * dot * result.overlap_y - body.direction_x;\n\t\t\t\t\tbody.direction_y = 2 * dot * -result.overlap_x - body.direction_y;\n\n\t\t\t\t\tdot = body2.direction_x * result.overlap_y + body2.direction_y * -result.overlap_x;\n\n\t\t\t\t\tbody2.direction_x = 2 * dot * result.overlap_y - body2.direction_x;\n\t\t\t\t\tbody2.direction_y = 2 * dot * -result.overlap_x - body2.direction_y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Clear the canvas\n\t\tthis.context.fillStyle = '#000000';\n\t\tthis.context.fillRect(0, 0, width, height);\n\n\t\t// Render the bodies\n\t\tthis.context.strokeStyle = '#FFFFFF';\n\t\tthis.context.beginPath();\n\t\tthis.collisions.draw(this.context);\n\t\tthis.context.stroke();\n\n\t\t// Render the BVH\n\t\tif(this.bvh_checkbox.checked) {\n\t\t\tthis.context.strokeStyle = '#00FF00';\n\t\t\tthis.context.beginPath();\n\t\t\tthis.collisions.drawBVH(this.context);\n\t\t\tthis.context.stroke();\n\t\t}\n\n\t\t// Render the FPS\n\t\tthis.context.fillStyle = '#FFCC00';\n\t\tthis.context.fillText(average_fps, 10, 30);\n\t}\n\n\tcreateShape(large) {\n\t\tconst min_size  = size * 0.75 * (large ? 3 : 1);\n\t\tconst max_size  = size * 1.25 * (large ? 5 : 1);\n\t\tconst x         = random(0, width);\n\t\tconst y         = random(0, height);\n\t\tconst direction = random(0, 360) * Math.PI / 180;\n\n\t\tlet body;\n\n\t\tif(random(0, 2)) {\n\t\t\tbody = this.collisions.createCircle(x, y, random(min_size, max_size));\n\n\t\t\t++this.circles;\n\t\t}\n\t\telse {\n\t\t\tbody = this.collisions.createPolygon(x, y, [\n\t\t\t\t[-random(min_size, max_size), -random(min_size, max_size)],\n\t\t\t\t[random(min_size, max_size), -random(min_size, max_size)],\n\t\t\t\t[random(min_size, max_size), random(min_size, max_size)],\n\t\t\t\t[-random(min_size, max_size), random(3, size)],\n\t\t\t], random(0, 360) * Math.PI / 180);\n\n\t\t\t++this.polygons;\n\t\t}\n\n\t\tbody.direction_x = Math.cos(direction);\n\t\tbody.direction_y = Math.sin(direction);\n\n\t\tthis.bodies.push(body);\n\t}\n}\n\nfunction random(min, max) {\n\treturn Math.floor(Math.random() * max) + min;\n}\n"
  },
  {
    "path": "demo/examples/Tank.mjs",
    "content": "import Collisions from '../../src/Collisions.mjs';\n\nconst width  = 800;\nconst height = 600;\nconst result = Collisions.createResult();\n\nexport default class Tank {\n\tconstructor() {\n\t\tconst collisions = new Collisions();\n\n\t\tthis.element    = document.createElement('div');\n\t\tthis.canvas     = document.createElement('canvas');\n\t\tthis.context    = this.canvas.getContext('2d');\n\t\tthis.collisions = collisions;\n\t\tthis.bodies     = [];\n\n\t\tthis.canvas.width  = width;\n\t\tthis.canvas.height = height;\n\t\tthis.player        = null;\n\n\t\tthis.up    = false;\n\t\tthis.down  = false;\n\t\tthis.left  = false;\n\t\tthis.right = false;\n\n\t\tthis.element.innerHTML = `\n\t\t\t<div><b>W, S</b> - Accelerate/Decelerate</div>\n\t\t\t<div><b>A, D</b> - Turn</div>\n\t\t\t<div><label><input id=\"bvh\" type=\"checkbox\"> Show Bounding Volume Hierarchy</label></div>\n\t\t`;\n\n\t\tconst updateKeys = (e) => {\n\t\t\tconst keydown = e.type === 'keydown';\n\t\t\tconst key     = e.key.toLowerCase();\n\n\t\t\tkey === 'w' && (this.up = keydown);\n\t\t\tkey === 's' && (this.down = keydown);\n\t\t\tkey === 'a' && (this.left = keydown);\n\t\t\tkey === 'd' && (this.right = keydown);\n\t\t};\n\n\t\tdocument.addEventListener('keydown', updateKeys);\n\t\tdocument.addEventListener('keyup', updateKeys);\n\n\t\tthis.bvh_checkbox = this.element.querySelector('#bvh');\n\t\tthis.element.appendChild(this.canvas);\n\n\t\tthis.createPlayer(400, 300);\n\t\tthis.createMap();\n\n\t\tconst frame = () => {\n\t\t\tthis.update();\n\t\t\trequestAnimationFrame(frame);\n\t\t};\n\n\t\tframe();\n\t}\n\n\tupdate() {\n\t\tthis.handleInput();\n\t\tthis.processGameLogic();\n\t\tthis.handleCollisions();\n\t\tthis.render();\n\t}\n\n\thandleInput() {\n\t\tthis.up    && (this.player.velocity += 0.1);\n\t\tthis.down  && (this.player.velocity -= 0.1);\n\t\tthis.left  && (this.player.angle -= 0.04);\n\t\tthis.right && (this.player.angle += 0.04);\n\t}\n\n\tprocessGameLogic() {\n\t\tconst x = Math.cos(this.player.angle);\n\t\tconst y = Math.sin(this.player.angle);\n\n\t\tif(this.player.velocity > 0) {\n\t\t\tthis.player.velocity -= 0.05;\n\n\t\t\tif(this.player.velocity > 3) {\n\t\t\t\tthis.player.velocity = 3;\n\t\t\t}\n\t\t}\n\t\telse if(this.player.velocity < 0) {\n\t\t\tthis.player.velocity += 0.05;\n\n\t\t\tif(this.player.velocity < -2) {\n\t\t\t\tthis.player.velocity = -2;\n\t\t\t}\n\t\t}\n\n\t\tif(!Math.round(this.player.velocity * 100)) {\n\t\t\tthis.player.velocity = 0;\n\t\t}\n\n\t\tif(this.player.velocity) {\n\t\t\tthis.player.x += x * this.player.velocity;\n\t\t\tthis.player.y += y * this.player.velocity;\n\t\t}\n\t}\n\n\thandleCollisions() {\n\t\tthis.collisions.update();\n\n\t\tconst potentials = this.player.potentials();\n\n\t\t// Negate any collisions\n\t\tfor(const body of potentials) {\n\t\t\tif(this.player.collides(body, result)) {\n\t\t\t\tthis.player.x -= result.overlap * result.overlap_x;\n\t\t\t\tthis.player.y -= result.overlap * result.overlap_y;\n\n\t\t\t\tthis.player.velocity *= 0.9\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tthis.context.fillStyle = '#000000';\n\t\tthis.context.fillRect(0, 0, 800, 600);\n\n\t\tthis.context.strokeStyle = '#FFFFFF';\n\t\tthis.context.beginPath();\n\t\tthis.collisions.draw(this.context);\n\t\tthis.context.stroke();\n\n\t\tif(this.bvh_checkbox.checked) {\n\t\t\tthis.context.strokeStyle = '#00FF00';\n\t\t\tthis.context.beginPath();\n\t\t\tthis.collisions.drawBVH(this.context);\n\t\t\tthis.context.stroke();\n\t\t}\n\t}\n\n\tcreatePlayer(x, y) {\n\t\tconst size = 15;\n\n\t\tthis.player = this.collisions.createPolygon(x, y, [\n\t\t\t[-20, -10],\n\t\t\t[20, -10],\n\t\t\t[20, 10],\n\t\t\t[-20, 10],\n\t\t], 0.2);\n\n\t\tthis.player.velocity = 0;\n\t}\n\n\tcreateMap() {\n\t\t// World bounds\n\t\tthis.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, 0], [width, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, height], [0, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[0, height], [0, 0]]);\n\n\t\t// Factory\n\t\tthis.collisions.createPolygon(100, 100, [[-50, -50], [50, -50], [50, 50], [-50, 50],], 0.4);\n\t\tthis.collisions.createPolygon(190, 105, [[-20, -20], [20, -20], [20, 20], [-20, 20],], 0.4);\n\t\tthis.collisions.createCircle(170, 140, 8);\n\t\tthis.collisions.createCircle(185, 155, 8);\n\t\tthis.collisions.createCircle(165, 165, 8);\n\t\tthis.collisions.createCircle(145, 165, 8);\n\n\t\t// Airstrip\n\t\tthis.collisions.createPolygon(230, 50, [[-150, -30], [150, -30], [150, 30], [-150, 30],], 0.4);\n\n\t\t// HQ\n\t\tthis.collisions.createPolygon(100, 500, [[-40, -50], [40, -50], [50, 50], [-50, 50],], 0.2);\n\t\tthis.collisions.createCircle(180, 490, 20);\n\t\tthis.collisions.createCircle(175, 540, 20);\n\n\t\t// Barracks\n\t\tthis.collisions.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\n\t\tthis.collisions.createPolygon(350, 494, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\n\n\t\t// Mountains\n\t\tthis.collisions.createPolygon(750, 0, [[0, 0], [-20, 100]]);\n\t\tthis.collisions.createPolygon(750, 0, [[-20, 100], [30, 250]]);\n\t\tthis.collisions.createPolygon(750, 0, [[30, 250], [20, 300]]);\n\t\tthis.collisions.createPolygon(750, 0, [[20, 300], [-50, 320]]);\n\t\tthis.collisions.createPolygon(750, 0, [[-50, 320], [-90, 500]]);\n\t\tthis.collisions.createPolygon(750, 0, [[-90, 500], [-200, 600]]);\n\n\t\t// Lake\n\t\tthis.collisions.createPolygon(550, 100, [\n\t\t\t[-60, -20],\n\t\t\t[-20, -40],\n\t\t\t[30, -30],\n\t\t\t[60, 20],\n\t\t\t[40, 70],\n\t\t\t[10, 100],\n\t\t\t[-30, 110],\n\t\t\t[-80, 90],\n\t\t\t[-110, 50],\n\t\t\t[-100, 20],\n\t\t]);\n\t}\n}\n\nfunction random(min, max) {\n\treturn Math.floor(Math.random() * max) + min;\n}\n"
  },
  {
    "path": "demo/index.mjs",
    "content": "import Tank   from './examples/Tank.mjs';\nimport Stress from './examples/Stress.mjs';\n\nlet example;\n\nswitch(window.location.search) {\n\tcase '?stress':\n\t\texample = new Stress();\n\t\tbreak;\n\n\tdefault:\n\t\texample = new Tank();\n\t\tbreak;\n}\n\ndocument.body.appendChild(example.element);\n"
  },
  {
    "path": "docs/ast/source/.external-ecmascript.js.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 6058,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 193,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 6058,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 193,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [],\n    \"directives\": [],\n    \"leadingComments\": null,\n    \"innerComments\": [\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\",\n        \"start\": 0,\n        \"end\": 83,\n        \"loc\": {\n          \"start\": {\n            \"line\": 1,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 1,\n            \"column\": 83\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Value properties\",\n        \"start\": 85,\n        \"end\": 104,\n        \"loc\": {\n          \"start\": {\n            \"line\": 3,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 3,\n            \"column\": 19\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\\n \",\n        \"start\": 105,\n        \"end\": 226,\n        \"loc\": {\n          \"start\": {\n            \"line\": 4,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 6,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\\n \",\n        \"start\": 228,\n        \"end\": 339,\n        \"loc\": {\n          \"start\": {\n            \"line\": 8,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 10,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\\n \",\n        \"start\": 341,\n        \"end\": 464,\n        \"loc\": {\n          \"start\": {\n            \"line\": 12,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 14,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\\n \",\n        \"start\": 466,\n        \"end\": 579,\n        \"loc\": {\n          \"start\": {\n            \"line\": 16,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 18,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Fundamental objects\",\n        \"start\": 581,\n        \"end\": 603,\n        \"loc\": {\n          \"start\": {\n            \"line\": 20,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 20,\n            \"column\": 22\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n \",\n        \"start\": 604,\n        \"end\": 721,\n        \"loc\": {\n          \"start\": {\n            \"line\": 21,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 23,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n \",\n        \"start\": 722,\n        \"end\": 839,\n        \"loc\": {\n          \"start\": {\n            \"line\": 24,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 26,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n \",\n        \"start\": 841,\n        \"end\": 962,\n        \"loc\": {\n          \"start\": {\n            \"line\": 28,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 30,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n \",\n        \"start\": 963,\n        \"end\": 1084,\n        \"loc\": {\n          \"start\": {\n            \"line\": 31,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 33,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n \",\n        \"start\": 1086,\n        \"end\": 1205,\n        \"loc\": {\n          \"start\": {\n            \"line\": 35,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 37,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n \",\n        \"start\": 1206,\n        \"end\": 1325,\n        \"loc\": {\n          \"start\": {\n            \"line\": 38,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 40,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\\n \",\n        \"start\": 1327,\n        \"end\": 1444,\n        \"loc\": {\n          \"start\": {\n            \"line\": 42,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 44,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\\n \",\n        \"start\": 1446,\n        \"end\": 1561,\n        \"loc\": {\n          \"start\": {\n            \"line\": 46,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 48,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\\n \",\n        \"start\": 1563,\n        \"end\": 1686,\n        \"loc\": {\n          \"start\": {\n            \"line\": 50,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 52,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\\n \",\n        \"start\": 1688,\n        \"end\": 1819,\n        \"loc\": {\n          \"start\": {\n            \"line\": 54,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 56,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\\n \",\n        \"start\": 1821,\n        \"end\": 1946,\n        \"loc\": {\n          \"start\": {\n            \"line\": 58,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 60,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\\n \",\n        \"start\": 1948,\n        \"end\": 2081,\n        \"loc\": {\n          \"start\": {\n            \"line\": 62,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 64,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\\n \",\n        \"start\": 2083,\n        \"end\": 2210,\n        \"loc\": {\n          \"start\": {\n            \"line\": 66,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 68,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\\n \",\n        \"start\": 2212,\n        \"end\": 2335,\n        \"loc\": {\n          \"start\": {\n            \"line\": 70,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 72,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\\n \",\n        \"start\": 2337,\n        \"end\": 2458,\n        \"loc\": {\n          \"start\": {\n            \"line\": 74,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 76,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Numbers and dates\",\n        \"start\": 2460,\n        \"end\": 2480,\n        \"loc\": {\n          \"start\": {\n            \"line\": 78,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 78,\n            \"column\": 20\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n \",\n        \"start\": 2481,\n        \"end\": 2598,\n        \"loc\": {\n          \"start\": {\n            \"line\": 79,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 81,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n \",\n        \"start\": 2599,\n        \"end\": 2716,\n        \"loc\": {\n          \"start\": {\n            \"line\": 82,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 84,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n \",\n        \"start\": 2718,\n        \"end\": 2831,\n        \"loc\": {\n          \"start\": {\n            \"line\": 86,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 88,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Text processing\",\n        \"start\": 2833,\n        \"end\": 2851,\n        \"loc\": {\n          \"start\": {\n            \"line\": 90,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 90,\n            \"column\": 18\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\\n \",\n        \"start\": 2852,\n        \"end\": 2969,\n        \"loc\": {\n          \"start\": {\n            \"line\": 91,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 93,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\\n \",\n        \"start\": 2970,\n        \"end\": 3087,\n        \"loc\": {\n          \"start\": {\n            \"line\": 94,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 96,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n \",\n        \"start\": 3089,\n        \"end\": 3206,\n        \"loc\": {\n          \"start\": {\n            \"line\": 98,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 100,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Indexed collections\",\n        \"start\": 3208,\n        \"end\": 3230,\n        \"loc\": {\n          \"start\": {\n            \"line\": 102,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 102,\n            \"column\": 22\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\\n \",\n        \"start\": 3231,\n        \"end\": 3346,\n        \"loc\": {\n          \"start\": {\n            \"line\": 103,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 105,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\\n \",\n        \"start\": 3348,\n        \"end\": 3471,\n        \"loc\": {\n          \"start\": {\n            \"line\": 107,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 109,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\\n \",\n        \"start\": 3472,\n        \"end\": 3597,\n        \"loc\": {\n          \"start\": {\n            \"line\": 110,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 112,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\\n \",\n        \"start\": 3599,\n        \"end\": 3738,\n        \"loc\": {\n          \"start\": {\n            \"line\": 114,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 116,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\\n \",\n        \"start\": 3740,\n        \"end\": 3865,\n        \"loc\": {\n          \"start\": {\n            \"line\": 118,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 120,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\\n \",\n        \"start\": 3867,\n        \"end\": 3994,\n        \"loc\": {\n          \"start\": {\n            \"line\": 122,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 124,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\\n \",\n        \"start\": 3996,\n        \"end\": 4121,\n        \"loc\": {\n          \"start\": {\n            \"line\": 126,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 128,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\\n \",\n        \"start\": 4123,\n        \"end\": 4250,\n        \"loc\": {\n          \"start\": {\n            \"line\": 130,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 132,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\\n \",\n        \"start\": 4252,\n        \"end\": 4381,\n        \"loc\": {\n          \"start\": {\n            \"line\": 134,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 136,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\\n \",\n        \"start\": 4383,\n        \"end\": 4512,\n        \"loc\": {\n          \"start\": {\n            \"line\": 138,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 140,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Keyed collections\",\n        \"start\": 4514,\n        \"end\": 4534,\n        \"loc\": {\n          \"start\": {\n            \"line\": 142,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 142,\n            \"column\": 20\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\\n \",\n        \"start\": 4535,\n        \"end\": 4646,\n        \"loc\": {\n          \"start\": {\n            \"line\": 143,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 145,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n \",\n        \"start\": 4648,\n        \"end\": 4759,\n        \"loc\": {\n          \"start\": {\n            \"line\": 147,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 149,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n \",\n        \"start\": 4761,\n        \"end\": 4880,\n        \"loc\": {\n          \"start\": {\n            \"line\": 151,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 153,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\\n \",\n        \"start\": 4882,\n        \"end\": 5001,\n        \"loc\": {\n          \"start\": {\n            \"line\": 155,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 157,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Structured data\",\n        \"start\": 5003,\n        \"end\": 5021,\n        \"loc\": {\n          \"start\": {\n            \"line\": 159,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 159,\n            \"column\": 18\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\\n \",\n        \"start\": 5022,\n        \"end\": 5149,\n        \"loc\": {\n          \"start\": {\n            \"line\": 160,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 162,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\\n \",\n        \"start\": 5151,\n        \"end\": 5272,\n        \"loc\": {\n          \"start\": {\n            \"line\": 164,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 166,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\\n \",\n        \"start\": 5274,\n        \"end\": 5387,\n        \"loc\": {\n          \"start\": {\n            \"line\": 168,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 170,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Control abstraction objects\",\n        \"start\": 5389,\n        \"end\": 5419,\n        \"loc\": {\n          \"start\": {\n            \"line\": 172,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 172,\n            \"column\": 30\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n \",\n        \"start\": 5420,\n        \"end\": 5539,\n        \"loc\": {\n          \"start\": {\n            \"line\": 173,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 175,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n \",\n        \"start\": 5541,\n        \"end\": 5664,\n        \"loc\": {\n          \"start\": {\n            \"line\": 177,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 179,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\\n \",\n        \"start\": 5666,\n        \"end\": 5805,\n        \"loc\": {\n          \"start\": {\n            \"line\": 181,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 183,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentLine\",\n        \"value\": \" Reflection\",\n        \"start\": 5807,\n        \"end\": 5820,\n        \"loc\": {\n          \"start\": {\n            \"line\": 185,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 185,\n            \"column\": 13\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\\n \",\n        \"start\": 5821,\n        \"end\": 5940,\n        \"loc\": {\n          \"start\": {\n            \"line\": 186,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 188,\n            \"column\": 3\n          }\n        }\n      },\n      {\n        \"type\": \"CommentBlock\",\n        \"value\": \"*\\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\\n \",\n        \"start\": 5942,\n        \"end\": 6057,\n        \"loc\": {\n          \"start\": {\n            \"line\": 190,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 192,\n            \"column\": 3\n          }\n        }\n      }\n    ]\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\",\n      \"start\": 0,\n      \"end\": 83,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Value properties\",\n      \"start\": 85,\n      \"end\": 104,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\\n \",\n      \"start\": 105,\n      \"end\": 226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\\n \",\n      \"start\": 228,\n      \"end\": 339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\\n \",\n      \"start\": 341,\n      \"end\": 464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\\n \",\n      \"start\": 466,\n      \"end\": 579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Fundamental objects\",\n      \"start\": 581,\n      \"end\": 603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n \",\n      \"start\": 604,\n      \"end\": 721,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n \",\n      \"start\": 722,\n      \"end\": 839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 24,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n \",\n      \"start\": 841,\n      \"end\": 962,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n \",\n      \"start\": 963,\n      \"end\": 1084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n \",\n      \"start\": 1086,\n      \"end\": 1205,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n \",\n      \"start\": 1206,\n      \"end\": 1325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\\n \",\n      \"start\": 1327,\n      \"end\": 1444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\\n \",\n      \"start\": 1446,\n      \"end\": 1561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\\n \",\n      \"start\": 1563,\n      \"end\": 1686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\\n \",\n      \"start\": 1688,\n      \"end\": 1819,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\\n \",\n      \"start\": 1821,\n      \"end\": 1946,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\\n \",\n      \"start\": 1948,\n      \"end\": 2081,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\\n \",\n      \"start\": 2083,\n      \"end\": 2210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\\n \",\n      \"start\": 2212,\n      \"end\": 2335,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\\n \",\n      \"start\": 2337,\n      \"end\": 2458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Numbers and dates\",\n      \"start\": 2460,\n      \"end\": 2480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n \",\n      \"start\": 2481,\n      \"end\": 2598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n \",\n      \"start\": 2599,\n      \"end\": 2716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n \",\n      \"start\": 2718,\n      \"end\": 2831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Text processing\",\n      \"start\": 2833,\n      \"end\": 2851,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\\n \",\n      \"start\": 2852,\n      \"end\": 2969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\\n \",\n      \"start\": 2970,\n      \"end\": 3087,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n \",\n      \"start\": 3089,\n      \"end\": 3206,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Indexed collections\",\n      \"start\": 3208,\n      \"end\": 3230,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\\n \",\n      \"start\": 3231,\n      \"end\": 3346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\\n \",\n      \"start\": 3348,\n      \"end\": 3471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\\n \",\n      \"start\": 3472,\n      \"end\": 3597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\\n \",\n      \"start\": 3599,\n      \"end\": 3738,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\\n \",\n      \"start\": 3740,\n      \"end\": 3865,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\\n \",\n      \"start\": 3867,\n      \"end\": 3994,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\\n \",\n      \"start\": 3996,\n      \"end\": 4121,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\\n \",\n      \"start\": 4123,\n      \"end\": 4250,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\\n \",\n      \"start\": 4252,\n      \"end\": 4381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\\n \",\n      \"start\": 4383,\n      \"end\": 4512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Keyed collections\",\n      \"start\": 4514,\n      \"end\": 4534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 142,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 142,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\\n \",\n      \"start\": 4535,\n      \"end\": 4646,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 145,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n \",\n      \"start\": 4648,\n      \"end\": 4759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 149,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n \",\n      \"start\": 4761,\n      \"end\": 4880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\\n \",\n      \"start\": 4882,\n      \"end\": 5001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Structured data\",\n      \"start\": 5003,\n      \"end\": 5021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\\n \",\n      \"start\": 5022,\n      \"end\": 5149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\\n \",\n      \"start\": 5151,\n      \"end\": 5272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\\n \",\n      \"start\": 5274,\n      \"end\": 5387,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Control abstraction objects\",\n      \"start\": 5389,\n      \"end\": 5419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n \",\n      \"start\": 5420,\n      \"end\": 5539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n \",\n      \"start\": 5541,\n      \"end\": 5664,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\\n \",\n      \"start\": 5666,\n      \"end\": 5805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Reflection\",\n      \"start\": 5807,\n      \"end\": 5820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\\n \",\n      \"start\": 5821,\n      \"end\": 5940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\\n \",\n      \"start\": 5942,\n      \"end\": 6057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 3\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\",\n      \"start\": 0,\n      \"end\": 83,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Value properties\",\n      \"start\": 85,\n      \"end\": 104,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\\n \",\n      \"start\": 105,\n      \"end\": 226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\\n \",\n      \"start\": 228,\n      \"end\": 339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\\n \",\n      \"start\": 341,\n      \"end\": 464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\\n \",\n      \"start\": 466,\n      \"end\": 579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Fundamental objects\",\n      \"start\": 581,\n      \"end\": 603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n \",\n      \"start\": 604,\n      \"end\": 721,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n \",\n      \"start\": 722,\n      \"end\": 839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 24,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n \",\n      \"start\": 841,\n      \"end\": 962,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n \",\n      \"start\": 963,\n      \"end\": 1084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n \",\n      \"start\": 1086,\n      \"end\": 1205,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n \",\n      \"start\": 1206,\n      \"end\": 1325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\\n \",\n      \"start\": 1327,\n      \"end\": 1444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\\n \",\n      \"start\": 1446,\n      \"end\": 1561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\\n \",\n      \"start\": 1563,\n      \"end\": 1686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\\n \",\n      \"start\": 1688,\n      \"end\": 1819,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\\n \",\n      \"start\": 1821,\n      \"end\": 1946,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\\n \",\n      \"start\": 1948,\n      \"end\": 2081,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\\n \",\n      \"start\": 2083,\n      \"end\": 2210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\\n \",\n      \"start\": 2212,\n      \"end\": 2335,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\\n \",\n      \"start\": 2337,\n      \"end\": 2458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Numbers and dates\",\n      \"start\": 2460,\n      \"end\": 2480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n \",\n      \"start\": 2481,\n      \"end\": 2598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n \",\n      \"start\": 2599,\n      \"end\": 2716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n \",\n      \"start\": 2718,\n      \"end\": 2831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Text processing\",\n      \"start\": 2833,\n      \"end\": 2851,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\\n \",\n      \"start\": 2852,\n      \"end\": 2969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\\n \",\n      \"start\": 2970,\n      \"end\": 3087,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n \",\n      \"start\": 3089,\n      \"end\": 3206,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Indexed collections\",\n      \"start\": 3208,\n      \"end\": 3230,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\\n \",\n      \"start\": 3231,\n      \"end\": 3346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\\n \",\n      \"start\": 3348,\n      \"end\": 3471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\\n \",\n      \"start\": 3472,\n      \"end\": 3597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\\n \",\n      \"start\": 3599,\n      \"end\": 3738,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\\n \",\n      \"start\": 3740,\n      \"end\": 3865,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\\n \",\n      \"start\": 3867,\n      \"end\": 3994,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\\n \",\n      \"start\": 3996,\n      \"end\": 4121,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\\n \",\n      \"start\": 4123,\n      \"end\": 4250,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\\n \",\n      \"start\": 4252,\n      \"end\": 4381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\\n \",\n      \"start\": 4383,\n      \"end\": 4512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Keyed collections\",\n      \"start\": 4514,\n      \"end\": 4534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 142,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 142,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\\n \",\n      \"start\": 4535,\n      \"end\": 4646,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 145,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n \",\n      \"start\": 4648,\n      \"end\": 4759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 149,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n \",\n      \"start\": 4761,\n      \"end\": 4880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\\n \",\n      \"start\": 4882,\n      \"end\": 5001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Structured data\",\n      \"start\": 5003,\n      \"end\": 5021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\\n \",\n      \"start\": 5022,\n      \"end\": 5149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\\n \",\n      \"start\": 5151,\n      \"end\": 5272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\\n \",\n      \"start\": 5274,\n      \"end\": 5387,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Control abstraction objects\",\n      \"start\": 5389,\n      \"end\": 5419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n \",\n      \"start\": 5420,\n      \"end\": 5539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n \",\n      \"start\": 5541,\n      \"end\": 5664,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\\n \",\n      \"start\": 5666,\n      \"end\": 5805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Reflection\",\n      \"start\": 5807,\n      \"end\": 5820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\\n \",\n      \"start\": 5821,\n      \"end\": 5940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\\n \",\n      \"start\": 5942,\n      \"end\": 6057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6058,\n      \"end\": 6058,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/Collisions.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 4552,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 164,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 4552,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 164,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 0,\n        \"end\": 40,\n        \"loc\": {\n          \"start\": {\n            \"line\": 1,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 1,\n            \"column\": 40\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 7,\n            \"end\": 10,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 1,\n                \"column\": 10\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 7,\n              \"end\": 10,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 1,\n                  \"column\": 10\n                },\n                \"identifierName\": \"BVH\"\n              },\n              \"name\": \"BVH\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 20,\n          \"end\": 39,\n          \"loc\": {\n            \"start\": {\n              \"line\": 1,\n              \"column\": 20\n            },\n            \"end\": {\n              \"line\": 1,\n              \"column\": 39\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./modules/BVH.mjs\",\n            \"raw\": \"'./modules/BVH.mjs'\"\n          },\n          \"value\": \"./modules/BVH.mjs\"\n        }\n      },\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 41,\n        \"end\": 84,\n        \"loc\": {\n          \"start\": {\n            \"line\": 2,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 2,\n            \"column\": 43\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 48,\n            \"end\": 54,\n            \"loc\": {\n              \"start\": {\n                \"line\": 2,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 2,\n                \"column\": 13\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 48,\n              \"end\": 54,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 2,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 2,\n                  \"column\": 13\n                },\n                \"identifierName\": \"Circle\"\n              },\n              \"name\": \"Circle\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 61,\n          \"end\": 83,\n          \"loc\": {\n            \"start\": {\n              \"line\": 2,\n              \"column\": 20\n            },\n            \"end\": {\n              \"line\": 2,\n              \"column\": 42\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./modules/Circle.mjs\",\n            \"raw\": \"'./modules/Circle.mjs'\"\n          },\n          \"value\": \"./modules/Circle.mjs\"\n        }\n      },\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 85,\n        \"end\": 129,\n        \"loc\": {\n          \"start\": {\n            \"line\": 3,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 3,\n            \"column\": 44\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 92,\n            \"end\": 99,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 3,\n                \"column\": 14\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 92,\n              \"end\": 99,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 3,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 3,\n                  \"column\": 14\n                },\n                \"identifierName\": \"Polygon\"\n              },\n              \"name\": \"Polygon\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 105,\n          \"end\": 128,\n          \"loc\": {\n            \"start\": {\n              \"line\": 3,\n              \"column\": 20\n            },\n            \"end\": {\n              \"line\": 3,\n              \"column\": 43\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./modules/Polygon.mjs\",\n            \"raw\": \"'./modules/Polygon.mjs'\"\n          },\n          \"value\": \"./modules/Polygon.mjs\"\n        }\n      },\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 130,\n        \"end\": 172,\n        \"loc\": {\n          \"start\": {\n            \"line\": 4,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 4,\n            \"column\": 42\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 137,\n            \"end\": 142,\n            \"loc\": {\n              \"start\": {\n                \"line\": 4,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 4,\n                \"column\": 12\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 137,\n              \"end\": 142,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 4,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 4,\n                  \"column\": 12\n                },\n                \"identifierName\": \"Point\"\n              },\n              \"name\": \"Point\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 150,\n          \"end\": 171,\n          \"loc\": {\n            \"start\": {\n              \"line\": 4,\n              \"column\": 20\n            },\n            \"end\": {\n              \"line\": 4,\n              \"column\": 41\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./modules/Point.mjs\",\n            \"raw\": \"'./modules/Point.mjs'\"\n          },\n          \"value\": \"./modules/Point.mjs\"\n        }\n      },\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 173,\n        \"end\": 216,\n        \"loc\": {\n          \"start\": {\n            \"line\": 5,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 5,\n            \"column\": 43\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 180,\n            \"end\": 186,\n            \"loc\": {\n              \"start\": {\n                \"line\": 5,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 5,\n                \"column\": 13\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 180,\n              \"end\": 186,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 5,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 5,\n                  \"column\": 13\n                },\n                \"identifierName\": \"Result\"\n              },\n              \"name\": \"Result\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 193,\n          \"end\": 215,\n          \"loc\": {\n            \"start\": {\n              \"line\": 5,\n              \"column\": 20\n            },\n            \"end\": {\n              \"line\": 5,\n              \"column\": 42\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./modules/Result.mjs\",\n            \"raw\": \"'./modules/Result.mjs'\"\n          },\n          \"value\": \"./modules/Result.mjs\"\n        }\n      },\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 217,\n        \"end\": 257,\n        \"loc\": {\n          \"start\": {\n            \"line\": 6,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 6,\n            \"column\": 40\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 224,\n            \"end\": 227,\n            \"loc\": {\n              \"start\": {\n                \"line\": 6,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 10\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 224,\n              \"end\": 227,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 6,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 6,\n                  \"column\": 10\n                },\n                \"identifierName\": \"SAT\"\n              },\n              \"name\": \"SAT\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 237,\n          \"end\": 256,\n          \"loc\": {\n            \"start\": {\n              \"line\": 6,\n              \"column\": 20\n            },\n            \"end\": {\n              \"line\": 6,\n              \"column\": 39\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./modules/SAT.mjs\",\n            \"raw\": \"'./modules/SAT.mjs'\"\n          },\n          \"value\": \"./modules/SAT.mjs\"\n        },\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A collision system used to track bodies in order to improve collision detection performance\\n * @class\\n \",\n            \"start\": 259,\n            \"end\": 371,\n            \"loc\": {\n              \"start\": {\n                \"line\": 8,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 11,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"Identifier\",\n        \"start\": 372,\n        \"end\": 4464,\n        \"loc\": {\n          \"start\": {\n            \"line\": 12,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 154,\n            \"column\": 1\n          }\n        },\n        \"id\": {\n          \"type\": \"Identifier\",\n          \"start\": 378,\n          \"end\": 388,\n          \"loc\": {\n            \"start\": {\n              \"line\": 12,\n              \"column\": 6\n            },\n            \"end\": {\n              \"line\": 12,\n              \"column\": 16\n            },\n            \"identifierName\": \"Collisions\"\n          },\n          \"name\": \"Collisions\",\n          \"leadingComments\": null\n        },\n        \"superClass\": null,\n        \"body\": {\n          \"type\": \"ClassBody\",\n          \"start\": 389,\n          \"end\": 4464,\n          \"loc\": {\n            \"start\": {\n              \"line\": 12,\n              \"column\": 17\n            },\n            \"end\": {\n              \"line\": 154,\n              \"column\": 1\n            }\n          },\n          \"body\": [\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 419,\n              \"end\": 480,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 16,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 19,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 419,\n                \"end\": 430,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 16,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 16,\n                    \"column\": 12\n                  },\n                  \"identifierName\": \"constructor\"\n                },\n                \"name\": \"constructor\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"constructor\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 433,\n                \"end\": 480,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 16,\n                    \"column\": 15\n                  },\n                  \"end\": {\n                    \"line\": 19,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 455,\n                    \"end\": 477,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 24\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 455,\n                      \"end\": 476,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 23\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 455,\n                        \"end\": 464,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 18,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 18,\n                            \"column\": 11\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"ThisExpression\",\n                          \"start\": 455,\n                          \"end\": 459,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 6\n                            }\n                          },\n                          \"leadingComments\": null\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 460,\n                          \"end\": 464,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 7\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 11\n                            },\n                            \"identifierName\": \"_bvh\"\n                          },\n                          \"name\": \"_bvh\"\n                        },\n                        \"computed\": false,\n                        \"leadingComments\": null\n                      },\n                      \"right\": {\n                        \"type\": \"NewExpression\",\n                        \"start\": 467,\n                        \"end\": 476,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 18,\n                            \"column\": 14\n                          },\n                          \"end\": {\n                            \"line\": 18,\n                            \"column\": 23\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 471,\n                          \"end\": 474,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 21\n                            },\n                            \"identifierName\": \"BVH\"\n                          },\n                          \"name\": \"BVH\"\n                        },\n                        \"arguments\": []\n                      },\n                      \"leadingComments\": null\n                    },\n                    \"leadingComments\": [\n                      {\n                        \"type\": \"CommentBlock\",\n                        \"value\": \"* @private \",\n                        \"start\": 437,\n                        \"end\": 452,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 17,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 17,\n                            \"column\": 17\n                          }\n                        }\n                      }\n                    ]\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * @constructor\\n\\t \",\n                  \"start\": 392,\n                  \"end\": 417,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 13,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 15,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Circle} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Circle}\\n\\t \",\n                  \"start\": 483,\n                  \"end\": 887,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 21,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 29,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 889,\n              \"end\": 1056,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 30,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 36,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 889,\n                \"end\": 901,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 30,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 30,\n                    \"column\": 13\n                  },\n                  \"identifierName\": \"createCircle\"\n                },\n                \"name\": \"createCircle\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 902,\n                  \"end\": 907,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 30,\n                      \"column\": 14\n                    },\n                    \"end\": {\n                      \"line\": 30,\n                      \"column\": 19\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 902,\n                    \"end\": 903,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 14\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"x\"\n                    },\n                    \"name\": \"x\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 906,\n                    \"end\": 907,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 18\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 19\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 909,\n                  \"end\": 914,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 30,\n                      \"column\": 21\n                    },\n                    \"end\": {\n                      \"line\": 30,\n                      \"column\": 26\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 909,\n                    \"end\": 910,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 21\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 22\n                      },\n                      \"identifierName\": \"y\"\n                    },\n                    \"name\": \"y\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 913,\n                    \"end\": 914,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 25\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 26\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 916,\n                  \"end\": 926,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 30,\n                      \"column\": 28\n                    },\n                    \"end\": {\n                      \"line\": 30,\n                      \"column\": 38\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 916,\n                    \"end\": 922,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 28\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 34\n                      },\n                      \"identifierName\": \"radius\"\n                    },\n                    \"name\": \"radius\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 925,\n                    \"end\": 926,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 37\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 38\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 928,\n                  \"end\": 937,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 30,\n                      \"column\": 40\n                    },\n                    \"end\": {\n                      \"line\": 30,\n                      \"column\": 49\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 928,\n                    \"end\": 933,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 40\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 45\n                      },\n                      \"identifierName\": \"scale\"\n                    },\n                    \"name\": \"scale\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 936,\n                    \"end\": 937,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 48\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 49\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 1,\n                      \"raw\": \"1\"\n                    },\n                    \"value\": 1\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 939,\n                  \"end\": 950,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 30,\n                      \"column\": 51\n                    },\n                    \"end\": {\n                      \"line\": 30,\n                      \"column\": 62\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 939,\n                    \"end\": 946,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 51\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 58\n                      },\n                      \"identifierName\": \"padding\"\n                    },\n                    \"name\": \"padding\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 949,\n                    \"end\": 950,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 61\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 62\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 952,\n                \"end\": 1056,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 30,\n                    \"column\": 64\n                  },\n                  \"end\": {\n                    \"line\": 36,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 956,\n                    \"end\": 1010,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 31,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 31,\n                        \"column\": 56\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 962,\n                        \"end\": 1009,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 31,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 31,\n                            \"column\": 55\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 962,\n                          \"end\": 966,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 31,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 31,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        },\n                        \"init\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 969,\n                          \"end\": 1009,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 31,\n                              \"column\": 15\n                            },\n                            \"end\": {\n                              \"line\": 31,\n                              \"column\": 55\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 973,\n                            \"end\": 979,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 31,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 31,\n                                \"column\": 25\n                              },\n                              \"identifierName\": \"Circle\"\n                            },\n                            \"name\": \"Circle\"\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 980,\n                              \"end\": 981,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 31,\n                                  \"column\": 26\n                                },\n                                \"end\": {\n                                  \"line\": 31,\n                                  \"column\": 27\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 983,\n                              \"end\": 984,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 31,\n                                  \"column\": 29\n                                },\n                                \"end\": {\n                                  \"line\": 31,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 986,\n                              \"end\": 992,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 31,\n                                  \"column\": 32\n                                },\n                                \"end\": {\n                                  \"line\": 31,\n                                  \"column\": 38\n                                },\n                                \"identifierName\": \"radius\"\n                              },\n                              \"name\": \"radius\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 994,\n                              \"end\": 999,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 31,\n                                  \"column\": 40\n                                },\n                                \"end\": {\n                                  \"line\": 31,\n                                  \"column\": 45\n                                },\n                                \"identifierName\": \"scale\"\n                              },\n                              \"name\": \"scale\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1001,\n                              \"end\": 1008,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 31,\n                                  \"column\": 47\n                                },\n                                \"end\": {\n                                  \"line\": 31,\n                                  \"column\": 54\n                                },\n                                \"identifierName\": \"padding\"\n                              },\n                              \"name\": \"padding\"\n                            }\n                          ]\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 1014,\n                    \"end\": 1037,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 33,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 33,\n                        \"column\": 25\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 1014,\n                      \"end\": 1036,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 33,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 33,\n                          \"column\": 24\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 1014,\n                        \"end\": 1030,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 33,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 33,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1014,\n                          \"end\": 1023,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 11\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1014,\n                            \"end\": 1018,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1019,\n                            \"end\": 1023,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1024,\n                          \"end\": 1030,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"insert\"\n                          },\n                          \"name\": \"insert\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 1031,\n                          \"end\": 1035,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 23\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 1041,\n                    \"end\": 1053,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 35,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 35,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1048,\n                      \"end\": 1052,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 35,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 35,\n                          \"column\": 13\n                        },\n                        \"identifierName\": \"body\"\n                      },\n                      \"name\": \"body\"\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Circle} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Circle}\\n\\t \",\n                  \"start\": 483,\n                  \"end\": 887,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 21,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 29,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Polygon} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Polygon}\\n\\t \",\n                  \"start\": 1059,\n                  \"end\": 1705,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 38,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 48,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 1707,\n              \"end\": 1927,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 49,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 55,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 1707,\n                \"end\": 1720,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 49,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 49,\n                    \"column\": 14\n                  },\n                  \"identifierName\": \"createPolygon\"\n                },\n                \"name\": \"createPolygon\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 1721,\n                  \"end\": 1726,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 20\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1721,\n                    \"end\": 1722,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 15\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"x\"\n                    },\n                    \"name\": \"x\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 1725,\n                    \"end\": 1726,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 20\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 1728,\n                  \"end\": 1733,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 22\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 27\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1728,\n                    \"end\": 1729,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 22\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 23\n                      },\n                      \"identifierName\": \"y\"\n                    },\n                    \"name\": \"y\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 1732,\n                    \"end\": 1733,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 26\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 27\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 1735,\n                  \"end\": 1752,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 29\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 46\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1735,\n                    \"end\": 1741,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 29\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 35\n                      },\n                      \"identifierName\": \"points\"\n                    },\n                    \"name\": \"points\"\n                  },\n                  \"right\": {\n                    \"type\": \"ArrayExpression\",\n                    \"start\": 1744,\n                    \"end\": 1752,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 38\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 46\n                      }\n                    },\n                    \"elements\": [\n                      {\n                        \"type\": \"ArrayExpression\",\n                        \"start\": 1745,\n                        \"end\": 1751,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 49,\n                            \"column\": 39\n                          },\n                          \"end\": {\n                            \"line\": 49,\n                            \"column\": 45\n                          }\n                        },\n                        \"elements\": [\n                          {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 1746,\n                            \"end\": 1747,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 49,\n                                \"column\": 40\n                              },\n                              \"end\": {\n                                \"line\": 49,\n                                \"column\": 41\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          },\n                          {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 1749,\n                            \"end\": 1750,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 49,\n                                \"column\": 43\n                              },\n                              \"end\": {\n                                \"line\": 49,\n                                \"column\": 44\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          }\n                        ]\n                      }\n                    ]\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 1754,\n                  \"end\": 1763,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 48\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 57\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1754,\n                    \"end\": 1759,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 48\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 53\n                      },\n                      \"identifierName\": \"angle\"\n                    },\n                    \"name\": \"angle\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 1762,\n                    \"end\": 1763,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 56\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 57\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 1765,\n                  \"end\": 1776,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 59\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 70\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1765,\n                    \"end\": 1772,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 59\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 66\n                      },\n                      \"identifierName\": \"scale_x\"\n                    },\n                    \"name\": \"scale_x\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 1775,\n                    \"end\": 1776,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 69\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 70\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 1,\n                      \"raw\": \"1\"\n                    },\n                    \"value\": 1\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 1778,\n                  \"end\": 1789,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 72\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 83\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1778,\n                    \"end\": 1785,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 72\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 79\n                      },\n                      \"identifierName\": \"scale_y\"\n                    },\n                    \"name\": \"scale_y\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 1788,\n                    \"end\": 1789,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 82\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 83\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 1,\n                      \"raw\": \"1\"\n                    },\n                    \"value\": 1\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 1791,\n                  \"end\": 1802,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 85\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 96\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1791,\n                    \"end\": 1798,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 85\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 92\n                      },\n                      \"identifierName\": \"padding\"\n                    },\n                    \"name\": \"padding\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 1801,\n                    \"end\": 1802,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 95\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 96\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 1804,\n                \"end\": 1927,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 49,\n                    \"column\": 98\n                  },\n                  \"end\": {\n                    \"line\": 55,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 1808,\n                    \"end\": 1881,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 50,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 50,\n                        \"column\": 75\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 1814,\n                        \"end\": 1880,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 50,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 50,\n                            \"column\": 74\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1814,\n                          \"end\": 1818,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 50,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 50,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        },\n                        \"init\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 1821,\n                          \"end\": 1880,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 50,\n                              \"column\": 15\n                            },\n                            \"end\": {\n                              \"line\": 50,\n                              \"column\": 74\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1825,\n                            \"end\": 1832,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 50,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 50,\n                                \"column\": 26\n                              },\n                              \"identifierName\": \"Polygon\"\n                            },\n                            \"name\": \"Polygon\"\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1833,\n                              \"end\": 1834,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 28\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1836,\n                              \"end\": 1837,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 30\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 31\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1839,\n                              \"end\": 1845,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 33\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 39\n                                },\n                                \"identifierName\": \"points\"\n                              },\n                              \"name\": \"points\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1847,\n                              \"end\": 1852,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 41\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 46\n                                },\n                                \"identifierName\": \"angle\"\n                              },\n                              \"name\": \"angle\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1854,\n                              \"end\": 1861,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 48\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 55\n                                },\n                                \"identifierName\": \"scale_x\"\n                              },\n                              \"name\": \"scale_x\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1863,\n                              \"end\": 1870,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 57\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 64\n                                },\n                                \"identifierName\": \"scale_y\"\n                              },\n                              \"name\": \"scale_y\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 1872,\n                              \"end\": 1879,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 66\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 73\n                                },\n                                \"identifierName\": \"padding\"\n                              },\n                              \"name\": \"padding\"\n                            }\n                          ]\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 1885,\n                    \"end\": 1908,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 52,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 52,\n                        \"column\": 25\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 1885,\n                      \"end\": 1907,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 52,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 52,\n                          \"column\": 24\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 1885,\n                        \"end\": 1901,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 52,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 52,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1885,\n                          \"end\": 1894,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 11\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1885,\n                            \"end\": 1889,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 52,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 52,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1890,\n                            \"end\": 1894,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 52,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 52,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1895,\n                          \"end\": 1901,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"insert\"\n                          },\n                          \"name\": \"insert\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 1902,\n                          \"end\": 1906,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 23\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 1912,\n                    \"end\": 1924,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 54,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 54,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1919,\n                      \"end\": 1923,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 54,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 54,\n                          \"column\": 13\n                        },\n                        \"identifierName\": \"body\"\n                      },\n                      \"name\": \"body\"\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Polygon} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Polygon}\\n\\t \",\n                  \"start\": 1059,\n                  \"end\": 1705,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 38,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 48,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Point} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Point}\\n\\t \",\n                  \"start\": 1930,\n                  \"end\": 2246,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 57,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 63,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 2248,\n              \"end\": 2375,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 64,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 70,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 2248,\n                \"end\": 2259,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 64,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 64,\n                    \"column\": 12\n                  },\n                  \"identifierName\": \"createPoint\"\n                },\n                \"name\": \"createPoint\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 2260,\n                  \"end\": 2265,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 64,\n                      \"column\": 13\n                    },\n                    \"end\": {\n                      \"line\": 64,\n                      \"column\": 18\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2260,\n                    \"end\": 2261,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 13\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"x\"\n                    },\n                    \"name\": \"x\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 2264,\n                    \"end\": 2265,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 18\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 2267,\n                  \"end\": 2272,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 64,\n                      \"column\": 20\n                    },\n                    \"end\": {\n                      \"line\": 64,\n                      \"column\": 25\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2267,\n                    \"end\": 2268,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 20\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 21\n                      },\n                      \"identifierName\": \"y\"\n                    },\n                    \"name\": \"y\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 2271,\n                    \"end\": 2272,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 25\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 2274,\n                  \"end\": 2285,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 64,\n                      \"column\": 27\n                    },\n                    \"end\": {\n                      \"line\": 64,\n                      \"column\": 38\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2274,\n                    \"end\": 2281,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 27\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 34\n                      },\n                      \"identifierName\": \"padding\"\n                    },\n                    \"name\": \"padding\"\n                  },\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 2284,\n                    \"end\": 2285,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 37\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 38\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 2287,\n                \"end\": 2375,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 64,\n                    \"column\": 40\n                  },\n                  \"end\": {\n                    \"line\": 70,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 2291,\n                    \"end\": 2329,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 65,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 65,\n                        \"column\": 40\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 2297,\n                        \"end\": 2328,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 65,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 65,\n                            \"column\": 39\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2297,\n                          \"end\": 2301,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        },\n                        \"init\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 2304,\n                          \"end\": 2328,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 15\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 39\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2308,\n                            \"end\": 2313,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 65,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 24\n                              },\n                              \"identifierName\": \"Point\"\n                            },\n                            \"name\": \"Point\"\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 2314,\n                              \"end\": 2315,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 65,\n                                  \"column\": 25\n                                },\n                                \"end\": {\n                                  \"line\": 65,\n                                  \"column\": 26\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 2317,\n                              \"end\": 2318,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 65,\n                                  \"column\": 28\n                                },\n                                \"end\": {\n                                  \"line\": 65,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            },\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 2320,\n                              \"end\": 2327,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 65,\n                                  \"column\": 31\n                                },\n                                \"end\": {\n                                  \"line\": 65,\n                                  \"column\": 38\n                                },\n                                \"identifierName\": \"padding\"\n                              },\n                              \"name\": \"padding\"\n                            }\n                          ]\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 2333,\n                    \"end\": 2356,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 67,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 67,\n                        \"column\": 25\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 2333,\n                      \"end\": 2355,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 67,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 67,\n                          \"column\": 24\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 2333,\n                        \"end\": 2349,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 67,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 67,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 2333,\n                          \"end\": 2342,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 11\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 2333,\n                            \"end\": 2337,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 67,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 67,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2338,\n                            \"end\": 2342,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 67,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 67,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2343,\n                          \"end\": 2349,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"insert\"\n                          },\n                          \"name\": \"insert\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 2350,\n                          \"end\": 2354,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 23\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 2360,\n                    \"end\": 2372,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 69,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 69,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2367,\n                      \"end\": 2371,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 69,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 69,\n                          \"column\": 13\n                        },\n                        \"identifierName\": \"body\"\n                      },\n                      \"name\": \"body\"\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Point} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Point}\\n\\t \",\n                  \"start\": 1930,\n                  \"end\": 2246,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 57,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 63,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n                  \"start\": 2378,\n                  \"end\": 2472,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 72,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 74,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 2474,\n              \"end\": 2516,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 75,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 77,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 2474,\n                \"end\": 2486,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 75,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 75,\n                    \"column\": 13\n                  },\n                  \"identifierName\": \"createResult\"\n                },\n                \"name\": \"createResult\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 2489,\n                \"end\": 2516,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 75,\n                    \"column\": 16\n                  },\n                  \"end\": {\n                    \"line\": 77,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 2493,\n                    \"end\": 2513,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 76,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 76,\n                        \"column\": 22\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"NewExpression\",\n                      \"start\": 2500,\n                      \"end\": 2512,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 76,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 76,\n                          \"column\": 21\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2504,\n                        \"end\": 2510,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 76,\n                            \"column\": 13\n                          },\n                          \"end\": {\n                            \"line\": 76,\n                            \"column\": 19\n                          },\n                          \"identifierName\": \"Result\"\n                        },\n                        \"name\": \"Result\"\n                      },\n                      \"arguments\": []\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n                  \"start\": 2378,\n                  \"end\": 2472,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 72,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 74,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n                  \"start\": 2519,\n                  \"end\": 2605,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 79,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 81,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 2607,\n              \"end\": 2656,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 82,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 84,\n                  \"column\": 2\n                }\n              },\n              \"static\": true,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 2614,\n                \"end\": 2626,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 82,\n                    \"column\": 8\n                  },\n                  \"end\": {\n                    \"line\": 82,\n                    \"column\": 20\n                  },\n                  \"identifierName\": \"createResult\"\n                },\n                \"name\": \"createResult\"\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 2629,\n                \"end\": 2656,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 82,\n                    \"column\": 23\n                  },\n                  \"end\": {\n                    \"line\": 84,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 2633,\n                    \"end\": 2653,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 83,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 83,\n                        \"column\": 22\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"NewExpression\",\n                      \"start\": 2640,\n                      \"end\": 2652,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 83,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 83,\n                          \"column\": 21\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2644,\n                        \"end\": 2650,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 83,\n                            \"column\": 13\n                          },\n                          \"end\": {\n                            \"line\": 83,\n                            \"column\": 19\n                          },\n                          \"identifierName\": \"Result\"\n                        },\n                        \"name\": \"Result\"\n                      },\n                      \"arguments\": []\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n                  \"start\": 2519,\n                  \"end\": 2605,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 79,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 81,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Inserts bodies into the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                  \"start\": 2659,\n                  \"end\": 2762,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 86,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 89,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 2764,\n              \"end\": 2870,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 90,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 96,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 2764,\n                \"end\": 2770,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 90,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 90,\n                    \"column\": 7\n                  },\n                  \"identifierName\": \"insert\"\n                },\n                \"name\": \"insert\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"RestElement\",\n                  \"start\": 2771,\n                  \"end\": 2780,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 90,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 90,\n                      \"column\": 17\n                    }\n                  },\n                  \"argument\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2774,\n                    \"end\": 2780,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 90,\n                        \"column\": 11\n                      },\n                      \"end\": {\n                        \"line\": 90,\n                        \"column\": 17\n                      },\n                      \"identifierName\": \"bodies\"\n                    },\n                    \"name\": \"bodies\"\n                  }\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 2782,\n                \"end\": 2870,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 90,\n                    \"column\": 19\n                  },\n                  \"end\": {\n                    \"line\": 96,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ForOfStatement\",\n                    \"start\": 2786,\n                    \"end\": 2851,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 91,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 93,\n                        \"column\": 3\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 2790,\n                      \"end\": 2800,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 91,\n                          \"column\": 6\n                        },\n                        \"end\": {\n                          \"line\": 91,\n                          \"column\": 16\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 2796,\n                          \"end\": 2800,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 91,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 91,\n                              \"column\": 16\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2796,\n                            \"end\": 2800,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 91,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 91,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"init\": null\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    \"right\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2804,\n                      \"end\": 2810,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 91,\n                          \"column\": 20\n                        },\n                        \"end\": {\n                          \"line\": 91,\n                          \"column\": 26\n                        },\n                        \"identifierName\": \"bodies\"\n                      },\n                      \"name\": \"bodies\"\n                    },\n                    \"body\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 2812,\n                      \"end\": 2851,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 91,\n                          \"column\": 28\n                        },\n                        \"end\": {\n                          \"line\": 93,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 2817,\n                          \"end\": 2847,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 92,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 92,\n                              \"column\": 33\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"CallExpression\",\n                            \"start\": 2817,\n                            \"end\": 2846,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 92,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 92,\n                                \"column\": 32\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 2817,\n                              \"end\": 2833,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 92,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 92,\n                                  \"column\": 19\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2817,\n                                \"end\": 2826,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 92,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 92,\n                                    \"column\": 12\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 2817,\n                                  \"end\": 2821,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 92,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 92,\n                                      \"column\": 7\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2822,\n                                  \"end\": 2826,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 92,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 92,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"_bvh\"\n                                  },\n                                  \"name\": \"_bvh\"\n                                },\n                                \"computed\": false\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 2827,\n                                \"end\": 2833,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 92,\n                                    \"column\": 13\n                                  },\n                                  \"end\": {\n                                    \"line\": 92,\n                                    \"column\": 19\n                                  },\n                                  \"identifierName\": \"insert\"\n                                },\n                                \"name\": \"insert\"\n                              },\n                              \"computed\": false\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 2834,\n                                \"end\": 2838,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 92,\n                                    \"column\": 20\n                                  },\n                                  \"end\": {\n                                    \"line\": 92,\n                                    \"column\": 24\n                                  },\n                                  \"identifierName\": \"body\"\n                                },\n                                \"name\": \"body\"\n                              },\n                              {\n                                \"type\": \"BooleanLiteral\",\n                                \"start\": 2840,\n                                \"end\": 2845,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 92,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 92,\n                                    \"column\": 31\n                                  }\n                                },\n                                \"value\": false\n                              }\n                            ]\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    }\n                  },\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 2855,\n                    \"end\": 2867,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 95,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 95,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"ThisExpression\",\n                      \"start\": 2862,\n                      \"end\": 2866,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 95,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 95,\n                          \"column\": 13\n                        }\n                      }\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Inserts bodies into the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                  \"start\": 2659,\n                  \"end\": 2762,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 86,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 89,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Removes bodies from the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                  \"start\": 2873,\n                  \"end\": 2976,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 98,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 101,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 2978,\n              \"end\": 3084,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 102,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 108,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 2978,\n                \"end\": 2984,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 102,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 102,\n                    \"column\": 7\n                  },\n                  \"identifierName\": \"remove\"\n                },\n                \"name\": \"remove\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"RestElement\",\n                  \"start\": 2985,\n                  \"end\": 2994,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 102,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 102,\n                      \"column\": 17\n                    }\n                  },\n                  \"argument\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2988,\n                    \"end\": 2994,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 102,\n                        \"column\": 11\n                      },\n                      \"end\": {\n                        \"line\": 102,\n                        \"column\": 17\n                      },\n                      \"identifierName\": \"bodies\"\n                    },\n                    \"name\": \"bodies\"\n                  }\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 2996,\n                \"end\": 3084,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 102,\n                    \"column\": 19\n                  },\n                  \"end\": {\n                    \"line\": 108,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ForOfStatement\",\n                    \"start\": 3000,\n                    \"end\": 3065,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 103,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 105,\n                        \"column\": 3\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3004,\n                      \"end\": 3014,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 103,\n                          \"column\": 6\n                        },\n                        \"end\": {\n                          \"line\": 103,\n                          \"column\": 16\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3010,\n                          \"end\": 3014,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 103,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 103,\n                              \"column\": 16\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3010,\n                            \"end\": 3014,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 103,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 103,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"init\": null\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    \"right\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3018,\n                      \"end\": 3024,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 103,\n                          \"column\": 20\n                        },\n                        \"end\": {\n                          \"line\": 103,\n                          \"column\": 26\n                        },\n                        \"identifierName\": \"bodies\"\n                      },\n                      \"name\": \"bodies\"\n                    },\n                    \"body\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 3026,\n                      \"end\": 3065,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 103,\n                          \"column\": 28\n                        },\n                        \"end\": {\n                          \"line\": 105,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 3031,\n                          \"end\": 3061,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 104,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 104,\n                              \"column\": 33\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"CallExpression\",\n                            \"start\": 3031,\n                            \"end\": 3060,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 104,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 104,\n                                \"column\": 32\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 3031,\n                              \"end\": 3047,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 104,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 104,\n                                  \"column\": 19\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3031,\n                                \"end\": 3040,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 104,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 104,\n                                    \"column\": 12\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 3031,\n                                  \"end\": 3035,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 7\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3036,\n                                  \"end\": 3040,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"_bvh\"\n                                  },\n                                  \"name\": \"_bvh\"\n                                },\n                                \"computed\": false\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 3041,\n                                \"end\": 3047,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 104,\n                                    \"column\": 13\n                                  },\n                                  \"end\": {\n                                    \"line\": 104,\n                                    \"column\": 19\n                                  },\n                                  \"identifierName\": \"remove\"\n                                },\n                                \"name\": \"remove\"\n                              },\n                              \"computed\": false\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 3048,\n                                \"end\": 3052,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 104,\n                                    \"column\": 20\n                                  },\n                                  \"end\": {\n                                    \"line\": 104,\n                                    \"column\": 24\n                                  },\n                                  \"identifierName\": \"body\"\n                                },\n                                \"name\": \"body\"\n                              },\n                              {\n                                \"type\": \"BooleanLiteral\",\n                                \"start\": 3054,\n                                \"end\": 3059,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 104,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 104,\n                                    \"column\": 31\n                                  }\n                                },\n                                \"value\": false\n                              }\n                            ]\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    }\n                  },\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 3069,\n                    \"end\": 3081,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 107,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 107,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"ThisExpression\",\n                      \"start\": 3076,\n                      \"end\": 3080,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 107,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 107,\n                          \"column\": 13\n                        }\n                      }\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Removes bodies from the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                  \"start\": 2873,\n                  \"end\": 2976,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 98,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 101,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Updates the collision system. This should be called before any collisions are tested.\\n\\t \",\n                  \"start\": 3087,\n                  \"end\": 3185,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 110,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 112,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 3187,\n              \"end\": 3238,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 113,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 117,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 3187,\n                \"end\": 3193,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 113,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 113,\n                    \"column\": 7\n                  },\n                  \"identifierName\": \"update\"\n                },\n                \"name\": \"update\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 3196,\n                \"end\": 3238,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 113,\n                    \"column\": 10\n                  },\n                  \"end\": {\n                    \"line\": 117,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 3200,\n                    \"end\": 3219,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 114,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 114,\n                        \"column\": 21\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 3200,\n                      \"end\": 3218,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 114,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 114,\n                          \"column\": 20\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 3200,\n                        \"end\": 3216,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 114,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 114,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3200,\n                          \"end\": 3209,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 114,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 114,\n                              \"column\": 11\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3200,\n                            \"end\": 3204,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 114,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 114,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3205,\n                            \"end\": 3209,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 114,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 114,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3210,\n                          \"end\": 3216,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 114,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 114,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"update\"\n                          },\n                          \"name\": \"update\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": []\n                    }\n                  },\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 3223,\n                    \"end\": 3235,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 116,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 116,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"ThisExpression\",\n                      \"start\": 3230,\n                      \"end\": 3234,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 116,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 116,\n                          \"column\": 13\n                        }\n                      }\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Updates the collision system. This should be called before any collisions are tested.\\n\\t \",\n                  \"start\": 3087,\n                  \"end\": 3185,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 110,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 112,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                  \"start\": 3241,\n                  \"end\": 3402,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 119,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 122,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 3404,\n              \"end\": 3456,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 123,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 125,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 3404,\n                \"end\": 3408,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 123,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 123,\n                    \"column\": 5\n                  },\n                  \"identifierName\": \"draw\"\n                },\n                \"name\": \"draw\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"Identifier\",\n                  \"start\": 3409,\n                  \"end\": 3416,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 123,\n                      \"column\": 6\n                    },\n                    \"end\": {\n                      \"line\": 123,\n                      \"column\": 13\n                    },\n                    \"identifierName\": \"context\"\n                  },\n                  \"name\": \"context\"\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 3418,\n                \"end\": 3456,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 123,\n                    \"column\": 15\n                  },\n                  \"end\": {\n                    \"line\": 125,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 3422,\n                    \"end\": 3453,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 124,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 124,\n                        \"column\": 33\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 3429,\n                      \"end\": 3452,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 124,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 124,\n                          \"column\": 32\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 3429,\n                        \"end\": 3443,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 124,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 124,\n                            \"column\": 23\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3429,\n                          \"end\": 3438,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 124,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 124,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3429,\n                            \"end\": 3433,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 124,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 124,\n                                \"column\": 13\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3434,\n                            \"end\": 3438,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 124,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 124,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3439,\n                          \"end\": 3443,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 124,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 124,\n                              \"column\": 23\n                            },\n                            \"identifierName\": \"draw\"\n                          },\n                          \"name\": \"draw\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 3444,\n                          \"end\": 3451,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 124,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 124,\n                              \"column\": 31\n                            },\n                            \"identifierName\": \"context\"\n                          },\n                          \"name\": \"context\"\n                        }\n                      ]\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                  \"start\": 3241,\n                  \"end\": 3402,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 119,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 122,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                  \"start\": 3459,\n                  \"end\": 3677,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 127,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 130,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 3679,\n              \"end\": 3737,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 131,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 133,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 3679,\n                \"end\": 3686,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 131,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 131,\n                    \"column\": 8\n                  },\n                  \"identifierName\": \"drawBVH\"\n                },\n                \"name\": \"drawBVH\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"Identifier\",\n                  \"start\": 3687,\n                  \"end\": 3694,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 131,\n                      \"column\": 9\n                    },\n                    \"end\": {\n                      \"line\": 131,\n                      \"column\": 16\n                    },\n                    \"identifierName\": \"context\"\n                  },\n                  \"name\": \"context\"\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 3696,\n                \"end\": 3737,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 131,\n                    \"column\": 18\n                  },\n                  \"end\": {\n                    \"line\": 133,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 3700,\n                    \"end\": 3734,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 132,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 132,\n                        \"column\": 36\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 3707,\n                      \"end\": 3733,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 132,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 132,\n                          \"column\": 35\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 3707,\n                        \"end\": 3724,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 132,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 132,\n                            \"column\": 26\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3707,\n                          \"end\": 3716,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3707,\n                            \"end\": 3711,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 13\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3712,\n                            \"end\": 3716,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3717,\n                          \"end\": 3724,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 26\n                            },\n                            \"identifierName\": \"drawBVH\"\n                          },\n                          \"name\": \"drawBVH\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 3725,\n                          \"end\": 3732,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 27\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 34\n                            },\n                            \"identifierName\": \"context\"\n                          },\n                          \"name\": \"context\"\n                        }\n                      ]\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                  \"start\": 3459,\n                  \"end\": 3677,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 127,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 130,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\\n\\t * @returns {Array<Body>}\\n\\t \",\n                  \"start\": 3740,\n                  \"end\": 3918,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 135,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 139,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 3920,\n              \"end\": 3978,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 140,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 142,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 3920,\n                \"end\": 3930,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 140,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 140,\n                    \"column\": 11\n                  },\n                  \"identifierName\": \"potentials\"\n                },\n                \"name\": \"potentials\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"Identifier\",\n                  \"start\": 3931,\n                  \"end\": 3935,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 140,\n                      \"column\": 12\n                    },\n                    \"end\": {\n                      \"line\": 140,\n                      \"column\": 16\n                    },\n                    \"identifierName\": \"body\"\n                  },\n                  \"name\": \"body\"\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 3937,\n                \"end\": 3978,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 140,\n                    \"column\": 18\n                  },\n                  \"end\": {\n                    \"line\": 142,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 3941,\n                    \"end\": 3975,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 141,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 141,\n                        \"column\": 36\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 3948,\n                      \"end\": 3974,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 141,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 141,\n                          \"column\": 35\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 3948,\n                        \"end\": 3968,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 141,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 141,\n                            \"column\": 29\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3948,\n                          \"end\": 3957,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 141,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 141,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3948,\n                            \"end\": 3952,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 141,\n                                \"column\": 13\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3953,\n                            \"end\": 3957,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 141,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3958,\n                          \"end\": 3968,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 141,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 141,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"potentials\"\n                          },\n                          \"name\": \"potentials\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 3969,\n                          \"end\": 3973,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 141,\n                              \"column\": 30\n                            },\n                            \"end\": {\n                              \"line\": 141,\n                              \"column\": 34\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        }\n                      ]\n                    }\n                  }\n                ],\n                \"directives\": [],\n                \"trailingComments\": null\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\\n\\t * @returns {Array<Body>}\\n\\t \",\n                  \"start\": 3740,\n                  \"end\": 3918,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 135,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 139,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ],\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Determines if two bodies are colliding\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n                  \"start\": 3981,\n                  \"end\": 4359,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 144,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 150,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"ClassMethod\",\n              \"start\": 4361,\n              \"end\": 4462,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 151,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 153,\n                  \"column\": 2\n                }\n              },\n              \"static\": false,\n              \"computed\": false,\n              \"key\": {\n                \"type\": \"Identifier\",\n                \"start\": 4361,\n                \"end\": 4369,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 151,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 151,\n                    \"column\": 9\n                  },\n                  \"identifierName\": \"collides\"\n                },\n                \"name\": \"collides\",\n                \"leadingComments\": null\n              },\n              \"kind\": \"method\",\n              \"id\": null,\n              \"generator\": false,\n              \"expression\": false,\n              \"async\": false,\n              \"params\": [\n                {\n                  \"type\": \"Identifier\",\n                  \"start\": 4370,\n                  \"end\": 4376,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 10\n                    },\n                    \"end\": {\n                      \"line\": 151,\n                      \"column\": 16\n                    },\n                    \"identifierName\": \"source\"\n                  },\n                  \"name\": \"source\"\n                },\n                {\n                  \"type\": \"Identifier\",\n                  \"start\": 4378,\n                  \"end\": 4384,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 18\n                    },\n                    \"end\": {\n                      \"line\": 151,\n                      \"column\": 24\n                    },\n                    \"identifierName\": \"target\"\n                  },\n                  \"name\": \"target\"\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 4386,\n                  \"end\": 4399,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 26\n                    },\n                    \"end\": {\n                      \"line\": 151,\n                      \"column\": 39\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4386,\n                    \"end\": 4392,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 26\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 32\n                      },\n                      \"identifierName\": \"result\"\n                    },\n                    \"name\": \"result\"\n                  },\n                  \"right\": {\n                    \"type\": \"NullLiteral\",\n                    \"start\": 4395,\n                    \"end\": 4399,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 35\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 39\n                      }\n                    }\n                  }\n                },\n                {\n                  \"type\": \"AssignmentPattern\",\n                  \"start\": 4401,\n                  \"end\": 4412,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 41\n                    },\n                    \"end\": {\n                      \"line\": 151,\n                      \"column\": 52\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4401,\n                    \"end\": 4405,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 41\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 45\n                      },\n                      \"identifierName\": \"aabb\"\n                    },\n                    \"name\": \"aabb\"\n                  },\n                  \"right\": {\n                    \"type\": \"BooleanLiteral\",\n                    \"start\": 4408,\n                    \"end\": 4412,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 48\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 52\n                      }\n                    },\n                    \"value\": true\n                  }\n                }\n              ],\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 4414,\n                \"end\": 4462,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 151,\n                    \"column\": 54\n                  },\n                  \"end\": {\n                    \"line\": 153,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 4418,\n                    \"end\": 4459,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 152,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 152,\n                        \"column\": 43\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"CallExpression\",\n                      \"start\": 4425,\n                      \"end\": 4458,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 152,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 152,\n                          \"column\": 42\n                        }\n                      },\n                      \"callee\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 4425,\n                        \"end\": 4428,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 152,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 152,\n                            \"column\": 12\n                          },\n                          \"identifierName\": \"SAT\"\n                        },\n                        \"name\": \"SAT\"\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 4429,\n                          \"end\": 4435,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 152,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 152,\n                              \"column\": 19\n                            },\n                            \"identifierName\": \"source\"\n                          },\n                          \"name\": \"source\"\n                        },\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 4437,\n                          \"end\": 4443,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 152,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 152,\n                              \"column\": 27\n                            },\n                            \"identifierName\": \"target\"\n                          },\n                          \"name\": \"target\"\n                        },\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 4445,\n                          \"end\": 4451,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 152,\n                              \"column\": 29\n                            },\n                            \"end\": {\n                              \"line\": 152,\n                              \"column\": 35\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        {\n                          \"type\": \"Identifier\",\n                          \"start\": 4453,\n                          \"end\": 4457,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 152,\n                              \"column\": 37\n                            },\n                            \"end\": {\n                              \"line\": 152,\n                              \"column\": 41\n                            },\n                            \"identifierName\": \"aabb\"\n                          },\n                          \"name\": \"aabb\"\n                        }\n                      ]\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentBlock\",\n                  \"value\": \"*\\n\\t * Determines if two bodies are colliding\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n                  \"start\": 3981,\n                  \"end\": 4359,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 144,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 150,\n                      \"column\": 4\n                    }\n                  }\n                }\n              ]\n            }\n          ]\n        },\n        \"leadingComments\": [],\n        \"name\": \"_\",\n        \"trailingComments\": []\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 4464,\n        \"end\": 4465,\n        \"loc\": {\n          \"start\": {\n            \"line\": 154,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 154,\n            \"column\": 2\n          }\n        }\n      },\n      {\n        \"type\": \"ExportNamedDeclaration\",\n        \"start\": 4467,\n        \"end\": 4551,\n        \"loc\": {\n          \"start\": {\n            \"line\": 156,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 163,\n            \"column\": 2\n          }\n        },\n        \"declaration\": null,\n        \"specifiers\": [\n          {\n            \"type\": \"ExportSpecifier\",\n            \"start\": 4477,\n            \"end\": 4498,\n            \"loc\": {\n              \"start\": {\n                \"line\": 157,\n                \"column\": 1\n              },\n              \"end\": {\n                \"line\": 157,\n                \"column\": 22\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 4477,\n              \"end\": 4487,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 157,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 157,\n                  \"column\": 11\n                },\n                \"identifierName\": \"Collisions\"\n              },\n              \"name\": \"Collisions\"\n            },\n            \"exported\": {\n              \"type\": \"Identifier\",\n              \"start\": 4491,\n              \"end\": 4498,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 157,\n                  \"column\": 15\n                },\n                \"end\": {\n                  \"line\": 157,\n                  \"column\": 22\n                },\n                \"identifierName\": \"default\"\n              },\n              \"name\": \"default\"\n            }\n          },\n          {\n            \"type\": \"ExportSpecifier\",\n            \"start\": 4501,\n            \"end\": 4511,\n            \"loc\": {\n              \"start\": {\n                \"line\": 158,\n                \"column\": 1\n              },\n              \"end\": {\n                \"line\": 158,\n                \"column\": 11\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 4501,\n              \"end\": 4511,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 158,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 158,\n                  \"column\": 11\n                },\n                \"identifierName\": \"Collisions\"\n              },\n              \"name\": \"Collisions\"\n            },\n            \"exported\": {\n              \"type\": \"Identifier\",\n              \"start\": 4501,\n              \"end\": 4511,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 158,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 158,\n                  \"column\": 11\n                },\n                \"identifierName\": \"Collisions\"\n              },\n              \"name\": \"Collisions\"\n            }\n          },\n          {\n            \"type\": \"ExportSpecifier\",\n            \"start\": 4514,\n            \"end\": 4520,\n            \"loc\": {\n              \"start\": {\n                \"line\": 159,\n                \"column\": 1\n              },\n              \"end\": {\n                \"line\": 159,\n                \"column\": 7\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 4514,\n              \"end\": 4520,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 159,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 159,\n                  \"column\": 7\n                },\n                \"identifierName\": \"Result\"\n              },\n              \"name\": \"Result\"\n            },\n            \"exported\": {\n              \"type\": \"Identifier\",\n              \"start\": 4514,\n              \"end\": 4520,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 159,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 159,\n                  \"column\": 7\n                },\n                \"identifierName\": \"Result\"\n              },\n              \"name\": \"Result\"\n            }\n          },\n          {\n            \"type\": \"ExportSpecifier\",\n            \"start\": 4523,\n            \"end\": 4529,\n            \"loc\": {\n              \"start\": {\n                \"line\": 160,\n                \"column\": 1\n              },\n              \"end\": {\n                \"line\": 160,\n                \"column\": 7\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 4523,\n              \"end\": 4529,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 160,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 160,\n                  \"column\": 7\n                },\n                \"identifierName\": \"Circle\"\n              },\n              \"name\": \"Circle\"\n            },\n            \"exported\": {\n              \"type\": \"Identifier\",\n              \"start\": 4523,\n              \"end\": 4529,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 160,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 160,\n                  \"column\": 7\n                },\n                \"identifierName\": \"Circle\"\n              },\n              \"name\": \"Circle\"\n            }\n          },\n          {\n            \"type\": \"ExportSpecifier\",\n            \"start\": 4532,\n            \"end\": 4539,\n            \"loc\": {\n              \"start\": {\n                \"line\": 161,\n                \"column\": 1\n              },\n              \"end\": {\n                \"line\": 161,\n                \"column\": 8\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 4532,\n              \"end\": 4539,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 161,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 161,\n                  \"column\": 8\n                },\n                \"identifierName\": \"Polygon\"\n              },\n              \"name\": \"Polygon\"\n            },\n            \"exported\": {\n              \"type\": \"Identifier\",\n              \"start\": 4532,\n              \"end\": 4539,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 161,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 161,\n                  \"column\": 8\n                },\n                \"identifierName\": \"Polygon\"\n              },\n              \"name\": \"Polygon\"\n            }\n          },\n          {\n            \"type\": \"ExportSpecifier\",\n            \"start\": 4542,\n            \"end\": 4547,\n            \"loc\": {\n              \"start\": {\n                \"line\": 162,\n                \"column\": 1\n              },\n              \"end\": {\n                \"line\": 162,\n                \"column\": 6\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 4542,\n              \"end\": 4547,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 162,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 162,\n                  \"column\": 6\n                },\n                \"identifierName\": \"Point\"\n              },\n              \"name\": \"Point\"\n            },\n            \"exported\": {\n              \"type\": \"Identifier\",\n              \"start\": 4542,\n              \"end\": 4547,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 162,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 162,\n                  \"column\": 6\n                },\n                \"identifierName\": \"Point\"\n              },\n              \"name\": \"Point\"\n            }\n          }\n        ],\n        \"source\": null\n      },\n      {\n        \"type\": \"ExportNamedDeclaration\",\n        \"start\": 4467,\n        \"end\": 4551,\n        \"loc\": {\n          \"start\": {\n            \"line\": 156,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 163,\n            \"column\": 2\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 372,\n          \"end\": 4464,\n          \"loc\": {\n            \"start\": {\n              \"line\": 12,\n              \"column\": 0\n            },\n            \"end\": {\n              \"line\": 154,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 378,\n            \"end\": 388,\n            \"loc\": {\n              \"start\": {\n                \"line\": 12,\n                \"column\": 6\n              },\n              \"end\": {\n                \"line\": 12,\n                \"column\": 16\n              },\n              \"identifierName\": \"Collisions\"\n            },\n            \"name\": \"Collisions\",\n            \"leadingComments\": null\n          },\n          \"superClass\": null,\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 389,\n            \"end\": 4464,\n            \"loc\": {\n              \"start\": {\n                \"line\": 12,\n                \"column\": 17\n              },\n              \"end\": {\n                \"line\": 154,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 419,\n                \"end\": 480,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 16,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 19,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 419,\n                  \"end\": 430,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 16,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 433,\n                  \"end\": 480,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 19,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 455,\n                      \"end\": 477,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 24\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 455,\n                        \"end\": 476,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 18,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 18,\n                            \"column\": 23\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 455,\n                          \"end\": 464,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 11\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 455,\n                            \"end\": 459,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 18,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 18,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 460,\n                            \"end\": 464,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 18,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 18,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 467,\n                          \"end\": 476,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 14\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 23\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 471,\n                            \"end\": 474,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 18,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 18,\n                                \"column\": 21\n                              },\n                              \"identifierName\": \"BVH\"\n                            },\n                            \"name\": \"BVH\"\n                          },\n                          \"arguments\": []\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 437,\n                          \"end\": 452,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t \",\n                    \"start\": 392,\n                    \"end\": 417,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 13,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 15,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Circle} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Circle}\\n\\t \",\n                    \"start\": 483,\n                    \"end\": 887,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 21,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 29,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 889,\n                \"end\": 1056,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 30,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 36,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 889,\n                  \"end\": 901,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 30,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 30,\n                      \"column\": 13\n                    },\n                    \"identifierName\": \"createCircle\"\n                  },\n                  \"name\": \"createCircle\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 902,\n                    \"end\": 907,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 14\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 19\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 902,\n                      \"end\": 903,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 14\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 15\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 906,\n                      \"end\": 907,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 18\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 19\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 909,\n                    \"end\": 914,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 21\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 26\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 909,\n                      \"end\": 910,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 21\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 22\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 913,\n                      \"end\": 914,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 25\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 26\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 916,\n                    \"end\": 926,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 28\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 38\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 916,\n                      \"end\": 922,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 28\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 34\n                        },\n                        \"identifierName\": \"radius\"\n                      },\n                      \"name\": \"radius\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 925,\n                      \"end\": 926,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 37\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 38\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 928,\n                    \"end\": 937,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 40\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 49\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 928,\n                      \"end\": 933,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 40\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 45\n                        },\n                        \"identifierName\": \"scale\"\n                      },\n                      \"name\": \"scale\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 936,\n                      \"end\": 937,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 48\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 49\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 939,\n                    \"end\": 950,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 30,\n                        \"column\": 51\n                      },\n                      \"end\": {\n                        \"line\": 30,\n                        \"column\": 62\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 939,\n                      \"end\": 946,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 51\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 58\n                        },\n                        \"identifierName\": \"padding\"\n                      },\n                      \"name\": \"padding\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 949,\n                      \"end\": 950,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 30,\n                          \"column\": 61\n                        },\n                        \"end\": {\n                          \"line\": 30,\n                          \"column\": 62\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 952,\n                  \"end\": 1056,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 30,\n                      \"column\": 64\n                    },\n                    \"end\": {\n                      \"line\": 36,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 956,\n                      \"end\": 1010,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 31,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 31,\n                          \"column\": 56\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 962,\n                          \"end\": 1009,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 31,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 31,\n                              \"column\": 55\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 962,\n                            \"end\": 966,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 31,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 31,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"init\": {\n                            \"type\": \"NewExpression\",\n                            \"start\": 969,\n                            \"end\": 1009,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 31,\n                                \"column\": 15\n                              },\n                              \"end\": {\n                                \"line\": 31,\n                                \"column\": 55\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 973,\n                              \"end\": 979,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 31,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 31,\n                                  \"column\": 25\n                                },\n                                \"identifierName\": \"Circle\"\n                              },\n                              \"name\": \"Circle\"\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 980,\n                                \"end\": 981,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 31,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 31,\n                                    \"column\": 27\n                                  },\n                                  \"identifierName\": \"x\"\n                                },\n                                \"name\": \"x\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 983,\n                                \"end\": 984,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 31,\n                                    \"column\": 29\n                                  },\n                                  \"end\": {\n                                    \"line\": 31,\n                                    \"column\": 30\n                                  },\n                                  \"identifierName\": \"y\"\n                                },\n                                \"name\": \"y\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 986,\n                                \"end\": 992,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 31,\n                                    \"column\": 32\n                                  },\n                                  \"end\": {\n                                    \"line\": 31,\n                                    \"column\": 38\n                                  },\n                                  \"identifierName\": \"radius\"\n                                },\n                                \"name\": \"radius\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 994,\n                                \"end\": 999,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 31,\n                                    \"column\": 40\n                                  },\n                                  \"end\": {\n                                    \"line\": 31,\n                                    \"column\": 45\n                                  },\n                                  \"identifierName\": \"scale\"\n                                },\n                                \"name\": \"scale\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1001,\n                                \"end\": 1008,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 31,\n                                    \"column\": 47\n                                  },\n                                  \"end\": {\n                                    \"line\": 31,\n                                    \"column\": 54\n                                  },\n                                  \"identifierName\": \"padding\"\n                                },\n                                \"name\": \"padding\"\n                              }\n                            ]\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1014,\n                      \"end\": 1037,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 33,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 33,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 1014,\n                        \"end\": 1036,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 33,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 33,\n                            \"column\": 24\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1014,\n                          \"end\": 1030,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1014,\n                            \"end\": 1023,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 11\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 1014,\n                              \"end\": 1018,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 33,\n                                  \"column\": 2\n                                },\n                                \"end\": {\n                                  \"line\": 33,\n                                  \"column\": 6\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1019,\n                              \"end\": 1023,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 33,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 33,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1024,\n                            \"end\": 1030,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"insert\"\n                            },\n                            \"name\": \"insert\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1031,\n                            \"end\": 1035,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 23\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          }\n                        ]\n                      }\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 1041,\n                      \"end\": 1053,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 35,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 35,\n                          \"column\": 14\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 1048,\n                        \"end\": 1052,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 35,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 35,\n                            \"column\": 13\n                          },\n                          \"identifierName\": \"body\"\n                        },\n                        \"name\": \"body\"\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Circle} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Circle}\\n\\t \",\n                    \"start\": 483,\n                    \"end\": 887,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 21,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 29,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Polygon} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Polygon}\\n\\t \",\n                    \"start\": 1059,\n                    \"end\": 1705,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 38,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 48,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 1707,\n                \"end\": 1927,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 49,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 55,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 1707,\n                  \"end\": 1720,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 49,\n                      \"column\": 14\n                    },\n                    \"identifierName\": \"createPolygon\"\n                  },\n                  \"name\": \"createPolygon\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1721,\n                    \"end\": 1726,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 15\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 20\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1721,\n                      \"end\": 1722,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 15\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 16\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 1725,\n                      \"end\": 1726,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 20\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1728,\n                    \"end\": 1733,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 22\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 27\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1728,\n                      \"end\": 1729,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 22\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 23\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 1732,\n                      \"end\": 1733,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 27\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1735,\n                    \"end\": 1752,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 29\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 46\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1735,\n                      \"end\": 1741,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 29\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 35\n                        },\n                        \"identifierName\": \"points\"\n                      },\n                      \"name\": \"points\"\n                    },\n                    \"right\": {\n                      \"type\": \"ArrayExpression\",\n                      \"start\": 1744,\n                      \"end\": 1752,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 38\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 46\n                        }\n                      },\n                      \"elements\": [\n                        {\n                          \"type\": \"ArrayExpression\",\n                          \"start\": 1745,\n                          \"end\": 1751,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 49,\n                              \"column\": 39\n                            },\n                            \"end\": {\n                              \"line\": 49,\n                              \"column\": 45\n                            }\n                          },\n                          \"elements\": [\n                            {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 1746,\n                              \"end\": 1747,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 49,\n                                  \"column\": 40\n                                },\n                                \"end\": {\n                                  \"line\": 49,\n                                  \"column\": 41\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            },\n                            {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 1749,\n                              \"end\": 1750,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 49,\n                                  \"column\": 43\n                                },\n                                \"end\": {\n                                  \"line\": 49,\n                                  \"column\": 44\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          ]\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1754,\n                    \"end\": 1763,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 48\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 57\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1754,\n                      \"end\": 1759,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 48\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 53\n                        },\n                        \"identifierName\": \"angle\"\n                      },\n                      \"name\": \"angle\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 1762,\n                      \"end\": 1763,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 56\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 57\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1765,\n                    \"end\": 1776,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 59\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 70\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1765,\n                      \"end\": 1772,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 59\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 66\n                        },\n                        \"identifierName\": \"scale_x\"\n                      },\n                      \"name\": \"scale_x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 1775,\n                      \"end\": 1776,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 69\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 70\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1778,\n                    \"end\": 1789,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 72\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 83\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1778,\n                      \"end\": 1785,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 72\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 79\n                        },\n                        \"identifierName\": \"scale_y\"\n                      },\n                      \"name\": \"scale_y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 1788,\n                      \"end\": 1789,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 82\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 83\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1791,\n                    \"end\": 1802,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 49,\n                        \"column\": 85\n                      },\n                      \"end\": {\n                        \"line\": 49,\n                        \"column\": 96\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1791,\n                      \"end\": 1798,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 85\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 92\n                        },\n                        \"identifierName\": \"padding\"\n                      },\n                      \"name\": \"padding\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 1801,\n                      \"end\": 1802,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 95\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 96\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 1804,\n                  \"end\": 1927,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 49,\n                      \"column\": 98\n                    },\n                    \"end\": {\n                      \"line\": 55,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1808,\n                      \"end\": 1881,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 50,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 50,\n                          \"column\": 75\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1814,\n                          \"end\": 1880,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 50,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 50,\n                              \"column\": 74\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1814,\n                            \"end\": 1818,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 50,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 50,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"init\": {\n                            \"type\": \"NewExpression\",\n                            \"start\": 1821,\n                            \"end\": 1880,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 50,\n                                \"column\": 15\n                              },\n                              \"end\": {\n                                \"line\": 50,\n                                \"column\": 74\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1825,\n                              \"end\": 1832,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 26\n                                },\n                                \"identifierName\": \"Polygon\"\n                              },\n                              \"name\": \"Polygon\"\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1833,\n                                \"end\": 1834,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 27\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 28\n                                  },\n                                  \"identifierName\": \"x\"\n                                },\n                                \"name\": \"x\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1836,\n                                \"end\": 1837,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 30\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 31\n                                  },\n                                  \"identifierName\": \"y\"\n                                },\n                                \"name\": \"y\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1839,\n                                \"end\": 1845,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 33\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 39\n                                  },\n                                  \"identifierName\": \"points\"\n                                },\n                                \"name\": \"points\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1847,\n                                \"end\": 1852,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 41\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 46\n                                  },\n                                  \"identifierName\": \"angle\"\n                                },\n                                \"name\": \"angle\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1854,\n                                \"end\": 1861,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 48\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 55\n                                  },\n                                  \"identifierName\": \"scale_x\"\n                                },\n                                \"name\": \"scale_x\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1863,\n                                \"end\": 1870,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 57\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 64\n                                  },\n                                  \"identifierName\": \"scale_y\"\n                                },\n                                \"name\": \"scale_y\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1872,\n                                \"end\": 1879,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 66\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 73\n                                  },\n                                  \"identifierName\": \"padding\"\n                                },\n                                \"name\": \"padding\"\n                              }\n                            ]\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1885,\n                      \"end\": 1908,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 52,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 52,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 1885,\n                        \"end\": 1907,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 52,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 52,\n                            \"column\": 24\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1885,\n                          \"end\": 1901,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1885,\n                            \"end\": 1894,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 52,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 52,\n                                \"column\": 11\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 1885,\n                              \"end\": 1889,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 52,\n                                  \"column\": 2\n                                },\n                                \"end\": {\n                                  \"line\": 52,\n                                  \"column\": 6\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1890,\n                              \"end\": 1894,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 52,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 52,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1895,\n                            \"end\": 1901,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 52,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 52,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"insert\"\n                            },\n                            \"name\": \"insert\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1902,\n                            \"end\": 1906,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 52,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 52,\n                                \"column\": 23\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          }\n                        ]\n                      }\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 1912,\n                      \"end\": 1924,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 54,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 54,\n                          \"column\": 14\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 1919,\n                        \"end\": 1923,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 54,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 54,\n                            \"column\": 13\n                          },\n                          \"identifierName\": \"body\"\n                        },\n                        \"name\": \"body\"\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Polygon} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Polygon}\\n\\t \",\n                    \"start\": 1059,\n                    \"end\": 1705,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 38,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 48,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Point} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Point}\\n\\t \",\n                    \"start\": 1930,\n                    \"end\": 2246,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 57,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 63,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2248,\n                \"end\": 2375,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 64,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 70,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2248,\n                  \"end\": 2259,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 64,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 64,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"createPoint\"\n                  },\n                  \"name\": \"createPoint\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 2260,\n                    \"end\": 2265,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 13\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 18\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2260,\n                      \"end\": 2261,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 64,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 64,\n                          \"column\": 14\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2264,\n                      \"end\": 2265,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 64,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 64,\n                          \"column\": 18\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 2267,\n                    \"end\": 2272,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 20\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 25\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2267,\n                      \"end\": 2268,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 64,\n                          \"column\": 20\n                        },\n                        \"end\": {\n                          \"line\": 64,\n                          \"column\": 21\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2271,\n                      \"end\": 2272,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 64,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 64,\n                          \"column\": 25\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 2274,\n                    \"end\": 2285,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 27\n                      },\n                      \"end\": {\n                        \"line\": 64,\n                        \"column\": 38\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2274,\n                      \"end\": 2281,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 64,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 64,\n                          \"column\": 34\n                        },\n                        \"identifierName\": \"padding\"\n                      },\n                      \"name\": \"padding\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2284,\n                      \"end\": 2285,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 64,\n                          \"column\": 37\n                        },\n                        \"end\": {\n                          \"line\": 64,\n                          \"column\": 38\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2287,\n                  \"end\": 2375,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 64,\n                      \"column\": 40\n                    },\n                    \"end\": {\n                      \"line\": 70,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 2291,\n                      \"end\": 2329,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 65,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 65,\n                          \"column\": 40\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 2297,\n                          \"end\": 2328,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 39\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2297,\n                            \"end\": 2301,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 65,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"init\": {\n                            \"type\": \"NewExpression\",\n                            \"start\": 2304,\n                            \"end\": 2328,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 65,\n                                \"column\": 15\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 39\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2308,\n                              \"end\": 2313,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 65,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 65,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"Point\"\n                              },\n                              \"name\": \"Point\"\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 2314,\n                                \"end\": 2315,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 65,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 65,\n                                    \"column\": 26\n                                  },\n                                  \"identifierName\": \"x\"\n                                },\n                                \"name\": \"x\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 2317,\n                                \"end\": 2318,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 65,\n                                    \"column\": 28\n                                  },\n                                  \"end\": {\n                                    \"line\": 65,\n                                    \"column\": 29\n                                  },\n                                  \"identifierName\": \"y\"\n                                },\n                                \"name\": \"y\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 2320,\n                                \"end\": 2327,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 65,\n                                    \"column\": 31\n                                  },\n                                  \"end\": {\n                                    \"line\": 65,\n                                    \"column\": 38\n                                  },\n                                  \"identifierName\": \"padding\"\n                                },\n                                \"name\": \"padding\"\n                              }\n                            ]\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 2333,\n                      \"end\": 2356,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 67,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 67,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 2333,\n                        \"end\": 2355,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 67,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 67,\n                            \"column\": 24\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 2333,\n                          \"end\": 2349,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 2333,\n                            \"end\": 2342,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 67,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 67,\n                                \"column\": 11\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 2333,\n                              \"end\": 2337,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 67,\n                                  \"column\": 2\n                                },\n                                \"end\": {\n                                  \"line\": 67,\n                                  \"column\": 6\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2338,\n                              \"end\": 2342,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 67,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 67,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2343,\n                            \"end\": 2349,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 67,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 67,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"insert\"\n                            },\n                            \"name\": \"insert\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 2350,\n                            \"end\": 2354,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 67,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 67,\n                                \"column\": 23\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          }\n                        ]\n                      }\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 2360,\n                      \"end\": 2372,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 69,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 69,\n                          \"column\": 14\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2367,\n                        \"end\": 2371,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 69,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 69,\n                            \"column\": 13\n                          },\n                          \"identifierName\": \"body\"\n                        },\n                        \"name\": \"body\"\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Point} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Point}\\n\\t \",\n                    \"start\": 1930,\n                    \"end\": 2246,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 57,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 63,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2378,\n                    \"end\": 2472,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 72,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 74,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2474,\n                \"end\": 2516,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 75,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 77,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2474,\n                  \"end\": 2486,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 75,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 75,\n                      \"column\": 13\n                    },\n                    \"identifierName\": \"createResult\"\n                  },\n                  \"name\": \"createResult\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2489,\n                  \"end\": 2516,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 75,\n                      \"column\": 16\n                    },\n                    \"end\": {\n                      \"line\": 77,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 2493,\n                      \"end\": 2513,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 76,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 76,\n                          \"column\": 22\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"NewExpression\",\n                        \"start\": 2500,\n                        \"end\": 2512,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 76,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 76,\n                            \"column\": 21\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2504,\n                          \"end\": 2510,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 76,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 76,\n                              \"column\": 19\n                            },\n                            \"identifierName\": \"Result\"\n                          },\n                          \"name\": \"Result\"\n                        },\n                        \"arguments\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2378,\n                    \"end\": 2472,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 72,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 74,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2519,\n                    \"end\": 2605,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 79,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 81,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2607,\n                \"end\": 2656,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 82,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 84,\n                    \"column\": 2\n                  }\n                },\n                \"static\": true,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2614,\n                  \"end\": 2626,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 82,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 82,\n                      \"column\": 20\n                    },\n                    \"identifierName\": \"createResult\"\n                  },\n                  \"name\": \"createResult\"\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2629,\n                  \"end\": 2656,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 82,\n                      \"column\": 23\n                    },\n                    \"end\": {\n                      \"line\": 84,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 2633,\n                      \"end\": 2653,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 83,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 83,\n                          \"column\": 22\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"NewExpression\",\n                        \"start\": 2640,\n                        \"end\": 2652,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 83,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 83,\n                            \"column\": 21\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2644,\n                          \"end\": 2650,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 83,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 83,\n                              \"column\": 19\n                            },\n                            \"identifierName\": \"Result\"\n                          },\n                          \"name\": \"Result\"\n                        },\n                        \"arguments\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2519,\n                    \"end\": 2605,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 79,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 81,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Inserts bodies into the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                    \"start\": 2659,\n                    \"end\": 2762,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 86,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 89,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2764,\n                \"end\": 2870,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 90,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 96,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2764,\n                  \"end\": 2770,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 90,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 90,\n                      \"column\": 7\n                    },\n                    \"identifierName\": \"insert\"\n                  },\n                  \"name\": \"insert\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"RestElement\",\n                    \"start\": 2771,\n                    \"end\": 2780,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 90,\n                        \"column\": 8\n                      },\n                      \"end\": {\n                        \"line\": 90,\n                        \"column\": 17\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2774,\n                      \"end\": 2780,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 90,\n                          \"column\": 11\n                        },\n                        \"end\": {\n                          \"line\": 90,\n                          \"column\": 17\n                        },\n                        \"identifierName\": \"bodies\"\n                      },\n                      \"name\": \"bodies\"\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2782,\n                  \"end\": 2870,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 90,\n                      \"column\": 19\n                    },\n                    \"end\": {\n                      \"line\": 96,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ForOfStatement\",\n                      \"start\": 2786,\n                      \"end\": 2851,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 91,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 93,\n                          \"column\": 3\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"VariableDeclaration\",\n                        \"start\": 2790,\n                        \"end\": 2800,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 91,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 91,\n                            \"column\": 16\n                          }\n                        },\n                        \"declarations\": [\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 2796,\n                            \"end\": 2800,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 91,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 91,\n                                \"column\": 16\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2796,\n                              \"end\": 2800,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 91,\n                                  \"column\": 12\n                                },\n                                \"end\": {\n                                  \"line\": 91,\n                                  \"column\": 16\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"init\": null\n                          }\n                        ],\n                        \"kind\": \"const\"\n                      },\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2804,\n                        \"end\": 2810,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 91,\n                            \"column\": 20\n                          },\n                          \"end\": {\n                            \"line\": 91,\n                            \"column\": 26\n                          },\n                          \"identifierName\": \"bodies\"\n                        },\n                        \"name\": \"bodies\"\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 2812,\n                        \"end\": 2851,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 91,\n                            \"column\": 28\n                          },\n                          \"end\": {\n                            \"line\": 93,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 2817,\n                            \"end\": 2847,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 92,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 92,\n                                \"column\": 33\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 2817,\n                              \"end\": 2846,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 92,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 92,\n                                  \"column\": 32\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2817,\n                                \"end\": 2833,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 92,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 92,\n                                    \"column\": 19\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2817,\n                                  \"end\": 2826,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 92,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 92,\n                                      \"column\": 12\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"ThisExpression\",\n                                    \"start\": 2817,\n                                    \"end\": 2821,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 92,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 92,\n                                        \"column\": 7\n                                      }\n                                    }\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2822,\n                                    \"end\": 2826,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 92,\n                                        \"column\": 8\n                                      },\n                                      \"end\": {\n                                        \"line\": 92,\n                                        \"column\": 12\n                                      },\n                                      \"identifierName\": \"_bvh\"\n                                    },\n                                    \"name\": \"_bvh\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2827,\n                                  \"end\": 2833,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 92,\n                                      \"column\": 13\n                                    },\n                                    \"end\": {\n                                      \"line\": 92,\n                                      \"column\": 19\n                                    },\n                                    \"identifierName\": \"insert\"\n                                  },\n                                  \"name\": \"insert\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2834,\n                                  \"end\": 2838,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 92,\n                                      \"column\": 20\n                                    },\n                                    \"end\": {\n                                      \"line\": 92,\n                                      \"column\": 24\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                {\n                                  \"type\": \"BooleanLiteral\",\n                                  \"start\": 2840,\n                                  \"end\": 2845,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 92,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 92,\n                                      \"column\": 31\n                                    }\n                                  },\n                                  \"value\": false\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 2855,\n                      \"end\": 2867,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 95,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 95,\n                          \"column\": 14\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"ThisExpression\",\n                        \"start\": 2862,\n                        \"end\": 2866,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 95,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 95,\n                            \"column\": 13\n                          }\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Inserts bodies into the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                    \"start\": 2659,\n                    \"end\": 2762,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 86,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 89,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Removes bodies from the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                    \"start\": 2873,\n                    \"end\": 2976,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 98,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 101,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2978,\n                \"end\": 3084,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 102,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 108,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2978,\n                  \"end\": 2984,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 102,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 102,\n                      \"column\": 7\n                    },\n                    \"identifierName\": \"remove\"\n                  },\n                  \"name\": \"remove\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"RestElement\",\n                    \"start\": 2985,\n                    \"end\": 2994,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 102,\n                        \"column\": 8\n                      },\n                      \"end\": {\n                        \"line\": 102,\n                        \"column\": 17\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2988,\n                      \"end\": 2994,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 102,\n                          \"column\": 11\n                        },\n                        \"end\": {\n                          \"line\": 102,\n                          \"column\": 17\n                        },\n                        \"identifierName\": \"bodies\"\n                      },\n                      \"name\": \"bodies\"\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2996,\n                  \"end\": 3084,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 102,\n                      \"column\": 19\n                    },\n                    \"end\": {\n                      \"line\": 108,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ForOfStatement\",\n                      \"start\": 3000,\n                      \"end\": 3065,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 103,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 105,\n                          \"column\": 3\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"VariableDeclaration\",\n                        \"start\": 3004,\n                        \"end\": 3014,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 103,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 103,\n                            \"column\": 16\n                          }\n                        },\n                        \"declarations\": [\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 3010,\n                            \"end\": 3014,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 103,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 103,\n                                \"column\": 16\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3010,\n                              \"end\": 3014,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 103,\n                                  \"column\": 12\n                                },\n                                \"end\": {\n                                  \"line\": 103,\n                                  \"column\": 16\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"init\": null\n                          }\n                        ],\n                        \"kind\": \"const\"\n                      },\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3018,\n                        \"end\": 3024,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 103,\n                            \"column\": 20\n                          },\n                          \"end\": {\n                            \"line\": 103,\n                            \"column\": 26\n                          },\n                          \"identifierName\": \"bodies\"\n                        },\n                        \"name\": \"bodies\"\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 3026,\n                        \"end\": 3065,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 103,\n                            \"column\": 28\n                          },\n                          \"end\": {\n                            \"line\": 105,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 3031,\n                            \"end\": 3061,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 104,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 104,\n                                \"column\": 33\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 3031,\n                              \"end\": 3060,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 104,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 104,\n                                  \"column\": 32\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3031,\n                                \"end\": 3047,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 104,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 104,\n                                    \"column\": 19\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 3031,\n                                  \"end\": 3040,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 12\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"ThisExpression\",\n                                    \"start\": 3031,\n                                    \"end\": 3035,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 104,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 104,\n                                        \"column\": 7\n                                      }\n                                    }\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 3036,\n                                    \"end\": 3040,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 104,\n                                        \"column\": 8\n                                      },\n                                      \"end\": {\n                                        \"line\": 104,\n                                        \"column\": 12\n                                      },\n                                      \"identifierName\": \"_bvh\"\n                                    },\n                                    \"name\": \"_bvh\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3041,\n                                  \"end\": 3047,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 13\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 19\n                                    },\n                                    \"identifierName\": \"remove\"\n                                  },\n                                  \"name\": \"remove\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3048,\n                                  \"end\": 3052,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 20\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 24\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                {\n                                  \"type\": \"BooleanLiteral\",\n                                  \"start\": 3054,\n                                  \"end\": 3059,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 31\n                                    }\n                                  },\n                                  \"value\": false\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 3069,\n                      \"end\": 3081,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 107,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 107,\n                          \"column\": 14\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"ThisExpression\",\n                        \"start\": 3076,\n                        \"end\": 3080,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 107,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 107,\n                            \"column\": 13\n                          }\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Removes bodies from the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n                    \"start\": 2873,\n                    \"end\": 2976,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 98,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 101,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Updates the collision system. This should be called before any collisions are tested.\\n\\t \",\n                    \"start\": 3087,\n                    \"end\": 3185,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 110,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 112,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 3187,\n                \"end\": 3238,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 113,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 117,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 3187,\n                  \"end\": 3193,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 113,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 113,\n                      \"column\": 7\n                    },\n                    \"identifierName\": \"update\"\n                  },\n                  \"name\": \"update\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 3196,\n                  \"end\": 3238,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 113,\n                      \"column\": 10\n                    },\n                    \"end\": {\n                      \"line\": 117,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 3200,\n                      \"end\": 3219,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 114,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 114,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 3200,\n                        \"end\": 3218,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 114,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 114,\n                            \"column\": 20\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3200,\n                          \"end\": 3216,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 114,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 114,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3200,\n                            \"end\": 3209,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 114,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 114,\n                                \"column\": 11\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3200,\n                              \"end\": 3204,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 114,\n                                  \"column\": 2\n                                },\n                                \"end\": {\n                                  \"line\": 114,\n                                  \"column\": 6\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3205,\n                              \"end\": 3209,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 114,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 114,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3210,\n                            \"end\": 3216,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 114,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 114,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"update\"\n                            },\n                            \"name\": \"update\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 3223,\n                      \"end\": 3235,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 116,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 116,\n                          \"column\": 14\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"ThisExpression\",\n                        \"start\": 3230,\n                        \"end\": 3234,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 116,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 116,\n                            \"column\": 13\n                          }\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Updates the collision system. This should be called before any collisions are tested.\\n\\t \",\n                    \"start\": 3087,\n                    \"end\": 3185,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 110,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 112,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 3241,\n                    \"end\": 3402,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 119,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 122,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 3404,\n                \"end\": 3456,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 123,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 125,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 3404,\n                  \"end\": 3408,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 123,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 123,\n                      \"column\": 5\n                    },\n                    \"identifierName\": \"draw\"\n                  },\n                  \"name\": \"draw\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 3409,\n                    \"end\": 3416,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 123,\n                        \"column\": 6\n                      },\n                      \"end\": {\n                        \"line\": 123,\n                        \"column\": 13\n                      },\n                      \"identifierName\": \"context\"\n                    },\n                    \"name\": \"context\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 3418,\n                  \"end\": 3456,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 123,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 125,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 3422,\n                      \"end\": 3453,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 124,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 124,\n                          \"column\": 33\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 3429,\n                        \"end\": 3452,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 124,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 124,\n                            \"column\": 32\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3429,\n                          \"end\": 3443,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 124,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 124,\n                              \"column\": 23\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3429,\n                            \"end\": 3438,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 124,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 124,\n                                \"column\": 18\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3429,\n                              \"end\": 3433,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 124,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 124,\n                                  \"column\": 13\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3434,\n                              \"end\": 3438,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 124,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 124,\n                                  \"column\": 18\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3439,\n                            \"end\": 3443,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 124,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 124,\n                                \"column\": 23\n                              },\n                              \"identifierName\": \"draw\"\n                            },\n                            \"name\": \"draw\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 3444,\n                            \"end\": 3451,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 124,\n                                \"column\": 24\n                              },\n                              \"end\": {\n                                \"line\": 124,\n                                \"column\": 31\n                              },\n                              \"identifierName\": \"context\"\n                            },\n                            \"name\": \"context\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 3241,\n                    \"end\": 3402,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 119,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 122,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 3459,\n                    \"end\": 3677,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 127,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 130,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 3679,\n                \"end\": 3737,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 131,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 133,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 3679,\n                  \"end\": 3686,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 131,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 131,\n                      \"column\": 8\n                    },\n                    \"identifierName\": \"drawBVH\"\n                  },\n                  \"name\": \"drawBVH\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 3687,\n                    \"end\": 3694,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 131,\n                        \"column\": 9\n                      },\n                      \"end\": {\n                        \"line\": 131,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"context\"\n                    },\n                    \"name\": \"context\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 3696,\n                  \"end\": 3737,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 131,\n                      \"column\": 18\n                    },\n                    \"end\": {\n                      \"line\": 133,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 3700,\n                      \"end\": 3734,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 132,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 132,\n                          \"column\": 36\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 3707,\n                        \"end\": 3733,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 132,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 132,\n                            \"column\": 35\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3707,\n                          \"end\": 3724,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 26\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3707,\n                            \"end\": 3716,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 18\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3707,\n                              \"end\": 3711,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 132,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 132,\n                                  \"column\": 13\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3712,\n                              \"end\": 3716,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 132,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 132,\n                                  \"column\": 18\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3717,\n                            \"end\": 3724,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 26\n                              },\n                              \"identifierName\": \"drawBVH\"\n                            },\n                            \"name\": \"drawBVH\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 3725,\n                            \"end\": 3732,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 27\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"context\"\n                            },\n                            \"name\": \"context\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 3459,\n                    \"end\": 3677,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 127,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 130,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\\n\\t * @returns {Array<Body>}\\n\\t \",\n                    \"start\": 3740,\n                    \"end\": 3918,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 135,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 139,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 3920,\n                \"end\": 3978,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 140,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 142,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 3920,\n                  \"end\": 3930,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 140,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 140,\n                      \"column\": 11\n                    },\n                    \"identifierName\": \"potentials\"\n                  },\n                  \"name\": \"potentials\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 3931,\n                    \"end\": 3935,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 140,\n                        \"column\": 12\n                      },\n                      \"end\": {\n                        \"line\": 140,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"body\"\n                    },\n                    \"name\": \"body\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 3937,\n                  \"end\": 3978,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 140,\n                      \"column\": 18\n                    },\n                    \"end\": {\n                      \"line\": 142,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 3941,\n                      \"end\": 3975,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 141,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 141,\n                          \"column\": 36\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 3948,\n                        \"end\": 3974,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 141,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 141,\n                            \"column\": 35\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3948,\n                          \"end\": 3968,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 141,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 141,\n                              \"column\": 29\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3948,\n                            \"end\": 3957,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 141,\n                                \"column\": 18\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3948,\n                              \"end\": 3952,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 141,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 141,\n                                  \"column\": 13\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3953,\n                              \"end\": 3957,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 141,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 141,\n                                  \"column\": 18\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3958,\n                            \"end\": 3968,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 141,\n                                \"column\": 29\n                              },\n                              \"identifierName\": \"potentials\"\n                            },\n                            \"name\": \"potentials\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 3969,\n                            \"end\": 3973,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 30\n                              },\n                              \"end\": {\n                                \"line\": 141,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\\n\\t * @returns {Array<Body>}\\n\\t \",\n                    \"start\": 3740,\n                    \"end\": 3918,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 135,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 139,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Determines if two bodies are colliding\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n                    \"start\": 3981,\n                    \"end\": 4359,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 144,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 150,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 4361,\n                \"end\": 4462,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 151,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 153,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 4361,\n                  \"end\": 4369,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 151,\n                      \"column\": 9\n                    },\n                    \"identifierName\": \"collides\"\n                  },\n                  \"name\": \"collides\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 4370,\n                    \"end\": 4376,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 10\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"source\"\n                    },\n                    \"name\": \"source\"\n                  },\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 4378,\n                    \"end\": 4384,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 18\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 24\n                      },\n                      \"identifierName\": \"target\"\n                    },\n                    \"name\": \"target\"\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 4386,\n                    \"end\": 4399,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 26\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 39\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4386,\n                      \"end\": 4392,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 151,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 151,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"result\"\n                      },\n                      \"name\": \"result\"\n                    },\n                    \"right\": {\n                      \"type\": \"NullLiteral\",\n                      \"start\": 4395,\n                      \"end\": 4399,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 151,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 151,\n                          \"column\": 39\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 4401,\n                    \"end\": 4412,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 41\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 52\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4401,\n                      \"end\": 4405,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 151,\n                          \"column\": 41\n                        },\n                        \"end\": {\n                          \"line\": 151,\n                          \"column\": 45\n                        },\n                        \"identifierName\": \"aabb\"\n                      },\n                      \"name\": \"aabb\"\n                    },\n                    \"right\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 4408,\n                      \"end\": 4412,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 151,\n                          \"column\": 48\n                        },\n                        \"end\": {\n                          \"line\": 151,\n                          \"column\": 52\n                        }\n                      },\n                      \"value\": true\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 4414,\n                  \"end\": 4462,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 54\n                    },\n                    \"end\": {\n                      \"line\": 153,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 4418,\n                      \"end\": 4459,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 152,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 152,\n                          \"column\": 43\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 4425,\n                        \"end\": 4458,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 152,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 152,\n                            \"column\": 42\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4425,\n                          \"end\": 4428,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 152,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 152,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"SAT\"\n                          },\n                          \"name\": \"SAT\"\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 4429,\n                            \"end\": 4435,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 152,\n                                \"column\": 13\n                              },\n                              \"end\": {\n                                \"line\": 152,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"source\"\n                            },\n                            \"name\": \"source\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 4437,\n                            \"end\": 4443,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 152,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 152,\n                                \"column\": 27\n                              },\n                              \"identifierName\": \"target\"\n                            },\n                            \"name\": \"target\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 4445,\n                            \"end\": 4451,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 152,\n                                \"column\": 29\n                              },\n                              \"end\": {\n                                \"line\": 152,\n                                \"column\": 35\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 4453,\n                            \"end\": 4457,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 152,\n                                \"column\": 37\n                              },\n                              \"end\": {\n                                \"line\": 152,\n                                \"column\": 41\n                              },\n                              \"identifierName\": \"aabb\"\n                            },\n                            \"name\": \"aabb\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Determines if two bodies are colliding\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n                    \"start\": 3981,\n                    \"end\": 4359,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 144,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 150,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * A collision system used to track bodies in order to improve collision detection performance\\n * @class\\n \",\n              \"start\": 259,\n              \"end\": 371,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 8,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 11,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"__PseudoExport__\": false,\n          \"trailingComments\": []\n        },\n        \"specifiers\": null,\n        \"source\": null,\n        \"leadingComments\": null\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A collision system used to track bodies in order to improve collision detection performance\\n * @class\\n \",\n      \"start\": 259,\n      \"end\": 371,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 392,\n      \"end\": 417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 13,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 437,\n      \"end\": 452,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Circle} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Circle}\\n\\t \",\n      \"start\": 483,\n      \"end\": 887,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Polygon} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Polygon}\\n\\t \",\n      \"start\": 1059,\n      \"end\": 1705,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Point} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Point}\\n\\t \",\n      \"start\": 1930,\n      \"end\": 2246,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2378,\n      \"end\": 2472,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2519,\n      \"end\": 2605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Inserts bodies into the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n      \"start\": 2659,\n      \"end\": 2762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Removes bodies from the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n      \"start\": 2873,\n      \"end\": 2976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Updates the collision system. This should be called before any collisions are tested.\\n\\t \",\n      \"start\": 3087,\n      \"end\": 3185,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 3241,\n      \"end\": 3402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 3459,\n      \"end\": 3677,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\\n\\t * @returns {Array<Body>}\\n\\t \",\n      \"start\": 3740,\n      \"end\": 3918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Determines if two bodies are colliding\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n      \"start\": 3981,\n      \"end\": 4359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 150,\n          \"column\": 4\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 0,\n      \"end\": 6,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVH\",\n      \"start\": 7,\n      \"end\": 10,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 15,\n      \"end\": 19,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./modules/BVH.mjs\",\n      \"start\": 20,\n      \"end\": 39,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 39,\n      \"end\": 40,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 41,\n      \"end\": 47,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Circle\",\n      \"start\": 48,\n      \"end\": 54,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 56,\n      \"end\": 60,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./modules/Circle.mjs\",\n      \"start\": 61,\n      \"end\": 83,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 83,\n      \"end\": 84,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 85,\n      \"end\": 91,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Polygon\",\n      \"start\": 92,\n      \"end\": 99,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 100,\n      \"end\": 104,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./modules/Polygon.mjs\",\n      \"start\": 105,\n      \"end\": 128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 128,\n      \"end\": 129,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 130,\n      \"end\": 136,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Point\",\n      \"start\": 137,\n      \"end\": 142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 145,\n      \"end\": 149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./modules/Point.mjs\",\n      \"start\": 150,\n      \"end\": 171,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 171,\n      \"end\": 172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 173,\n      \"end\": 179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 5,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 5,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 180,\n      \"end\": 186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 5,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 5,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 188,\n      \"end\": 192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 5,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 5,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./modules/Result.mjs\",\n      \"start\": 193,\n      \"end\": 215,\n      \"loc\": {\n        \"start\": {\n          \"line\": 5,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 5,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 215,\n      \"end\": 216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 5,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 5,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 217,\n      \"end\": 223,\n      \"loc\": {\n        \"start\": {\n          \"line\": 6,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"SAT\",\n      \"start\": 224,\n      \"end\": 227,\n      \"loc\": {\n        \"start\": {\n          \"line\": 6,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 232,\n      \"end\": 236,\n      \"loc\": {\n        \"start\": {\n          \"line\": 6,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./modules/SAT.mjs\",\n      \"start\": 237,\n      \"end\": 256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 6,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 256,\n      \"end\": 257,\n      \"loc\": {\n        \"start\": {\n          \"line\": 6,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A collision system used to track bodies in order to improve collision detection performance\\n * @class\\n \",\n      \"start\": 259,\n      \"end\": 371,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 372,\n      \"end\": 377,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Collisions\",\n      \"start\": 378,\n      \"end\": 388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 389,\n      \"end\": 390,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 392,\n      \"end\": 417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 13,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 419,\n      \"end\": 430,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 430,\n      \"end\": 431,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 431,\n      \"end\": 432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 433,\n      \"end\": 434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 437,\n      \"end\": 452,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 455,\n      \"end\": 459,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 459,\n      \"end\": 460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 460,\n      \"end\": 464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 465,\n      \"end\": 466,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 467,\n      \"end\": 470,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVH\",\n      \"start\": 471,\n      \"end\": 474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 474,\n      \"end\": 475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 475,\n      \"end\": 476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 476,\n      \"end\": 477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 479,\n      \"end\": 480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Circle} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Circle}\\n\\t \",\n      \"start\": 483,\n      \"end\": 887,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"createCircle\",\n      \"start\": 889,\n      \"end\": 901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 901,\n      \"end\": 902,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 902,\n      \"end\": 903,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 904,\n      \"end\": 905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 906,\n      \"end\": 907,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 907,\n      \"end\": 908,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 909,\n      \"end\": 910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 911,\n      \"end\": 912,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 913,\n      \"end\": 914,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 914,\n      \"end\": 915,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 916,\n      \"end\": 922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 923,\n      \"end\": 924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 925,\n      \"end\": 926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 926,\n      \"end\": 927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 928,\n      \"end\": 933,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 934,\n      \"end\": 935,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 936,\n      \"end\": 937,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 937,\n      \"end\": 938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 939,\n      \"end\": 946,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 947,\n      \"end\": 948,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 949,\n      \"end\": 950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 950,\n      \"end\": 951,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 952,\n      \"end\": 953,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 956,\n      \"end\": 961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 962,\n      \"end\": 966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 967,\n      \"end\": 968,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 969,\n      \"end\": 972,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Circle\",\n      \"start\": 973,\n      \"end\": 979,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 979,\n      \"end\": 980,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 980,\n      \"end\": 981,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 981,\n      \"end\": 982,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 983,\n      \"end\": 984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 984,\n      \"end\": 985,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 986,\n      \"end\": 992,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 992,\n      \"end\": 993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 994,\n      \"end\": 999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 999,\n      \"end\": 1000,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1001,\n      \"end\": 1008,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1008,\n      \"end\": 1009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1009,\n      \"end\": 1010,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1014,\n      \"end\": 1018,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1018,\n      \"end\": 1019,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 1019,\n      \"end\": 1023,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1023,\n      \"end\": 1024,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"insert\",\n      \"start\": 1024,\n      \"end\": 1030,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1030,\n      \"end\": 1031,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1031,\n      \"end\": 1035,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1035,\n      \"end\": 1036,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1036,\n      \"end\": 1037,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 1041,\n      \"end\": 1047,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1048,\n      \"end\": 1052,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1052,\n      \"end\": 1053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1055,\n      \"end\": 1056,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Polygon} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Polygon}\\n\\t \",\n      \"start\": 1059,\n      \"end\": 1705,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"createPolygon\",\n      \"start\": 1707,\n      \"end\": 1720,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1720,\n      \"end\": 1721,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 1721,\n      \"end\": 1722,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1723,\n      \"end\": 1724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1725,\n      \"end\": 1726,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1726,\n      \"end\": 1727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 1728,\n      \"end\": 1729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1730,\n      \"end\": 1731,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1732,\n      \"end\": 1733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1733,\n      \"end\": 1734,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 1735,\n      \"end\": 1741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1742,\n      \"end\": 1743,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1744,\n      \"end\": 1745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1745,\n      \"end\": 1746,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1746,\n      \"end\": 1747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1747,\n      \"end\": 1748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1749,\n      \"end\": 1750,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1750,\n      \"end\": 1751,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1751,\n      \"end\": 1752,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1752,\n      \"end\": 1753,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 1754,\n      \"end\": 1759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1760,\n      \"end\": 1761,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1762,\n      \"end\": 1763,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1763,\n      \"end\": 1764,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 1765,\n      \"end\": 1772,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1773,\n      \"end\": 1774,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 1775,\n      \"end\": 1776,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1776,\n      \"end\": 1777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 70\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 71\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 1778,\n      \"end\": 1785,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 72\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1786,\n      \"end\": 1787,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 80\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 1788,\n      \"end\": 1789,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 82\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1789,\n      \"end\": 1790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 83\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 84\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1791,\n      \"end\": 1798,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 85\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 92\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1799,\n      \"end\": 1800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 93\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 94\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1801,\n      \"end\": 1802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 95\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 96\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1802,\n      \"end\": 1803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 96\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 97\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1804,\n      \"end\": 1805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 98\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 99\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1808,\n      \"end\": 1813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1814,\n      \"end\": 1818,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1819,\n      \"end\": 1820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 1821,\n      \"end\": 1824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Polygon\",\n      \"start\": 1825,\n      \"end\": 1832,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1832,\n      \"end\": 1833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 1833,\n      \"end\": 1834,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1834,\n      \"end\": 1835,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 1836,\n      \"end\": 1837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1837,\n      \"end\": 1838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 1839,\n      \"end\": 1845,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1845,\n      \"end\": 1846,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 1847,\n      \"end\": 1852,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1852,\n      \"end\": 1853,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 1854,\n      \"end\": 1861,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1861,\n      \"end\": 1862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 1863,\n      \"end\": 1870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1870,\n      \"end\": 1871,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1872,\n      \"end\": 1879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1879,\n      \"end\": 1880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 73\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 74\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1880,\n      \"end\": 1881,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 74\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1885,\n      \"end\": 1889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1889,\n      \"end\": 1890,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 1890,\n      \"end\": 1894,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1894,\n      \"end\": 1895,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"insert\",\n      \"start\": 1895,\n      \"end\": 1901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1901,\n      \"end\": 1902,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1902,\n      \"end\": 1906,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1906,\n      \"end\": 1907,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1907,\n      \"end\": 1908,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 1912,\n      \"end\": 1918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1919,\n      \"end\": 1923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1923,\n      \"end\": 1924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1926,\n      \"end\": 1927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 55,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 55,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Point} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Point}\\n\\t \",\n      \"start\": 1930,\n      \"end\": 2246,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"createPoint\",\n      \"start\": 2248,\n      \"end\": 2259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2259,\n      \"end\": 2260,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 2260,\n      \"end\": 2261,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2262,\n      \"end\": 2263,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2264,\n      \"end\": 2265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2265,\n      \"end\": 2266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 2267,\n      \"end\": 2268,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2269,\n      \"end\": 2270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2271,\n      \"end\": 2272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2272,\n      \"end\": 2273,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 2274,\n      \"end\": 2281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2282,\n      \"end\": 2283,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2284,\n      \"end\": 2285,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2285,\n      \"end\": 2286,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2287,\n      \"end\": 2288,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2291,\n      \"end\": 2296,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 2297,\n      \"end\": 2301,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2302,\n      \"end\": 2303,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 2304,\n      \"end\": 2307,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Point\",\n      \"start\": 2308,\n      \"end\": 2313,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2313,\n      \"end\": 2314,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 2314,\n      \"end\": 2315,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2315,\n      \"end\": 2316,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 2317,\n      \"end\": 2318,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2318,\n      \"end\": 2319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 2320,\n      \"end\": 2327,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2327,\n      \"end\": 2328,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2328,\n      \"end\": 2329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2333,\n      \"end\": 2337,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2337,\n      \"end\": 2338,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 2338,\n      \"end\": 2342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2342,\n      \"end\": 2343,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"insert\",\n      \"start\": 2343,\n      \"end\": 2349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2349,\n      \"end\": 2350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 2350,\n      \"end\": 2354,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2354,\n      \"end\": 2355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2355,\n      \"end\": 2356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 2360,\n      \"end\": 2366,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 2367,\n      \"end\": 2371,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2371,\n      \"end\": 2372,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2374,\n      \"end\": 2375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2378,\n      \"end\": 2472,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"createResult\",\n      \"start\": 2474,\n      \"end\": 2486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 75,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2486,\n      \"end\": 2487,\n      \"loc\": {\n        \"start\": {\n          \"line\": 75,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2487,\n      \"end\": 2488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 75,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2489,\n      \"end\": 2490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 75,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 2493,\n      \"end\": 2499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 2500,\n      \"end\": 2503,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 2504,\n      \"end\": 2510,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2510,\n      \"end\": 2511,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2511,\n      \"end\": 2512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2512,\n      \"end\": 2513,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2515,\n      \"end\": 2516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2519,\n      \"end\": 2605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"static\",\n      \"start\": 2607,\n      \"end\": 2613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"createResult\",\n      \"start\": 2614,\n      \"end\": 2626,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2626,\n      \"end\": 2627,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2627,\n      \"end\": 2628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2629,\n      \"end\": 2630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 2633,\n      \"end\": 2639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 2640,\n      \"end\": 2643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 2644,\n      \"end\": 2650,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2650,\n      \"end\": 2651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2651,\n      \"end\": 2652,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2652,\n      \"end\": 2653,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2655,\n      \"end\": 2656,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Inserts bodies into the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n      \"start\": 2659,\n      \"end\": 2762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"insert\",\n      \"start\": 2764,\n      \"end\": 2770,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2770,\n      \"end\": 2771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"...\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2771,\n      \"end\": 2774,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 2774,\n      \"end\": 2780,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2780,\n      \"end\": 2781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2782,\n      \"end\": 2783,\n      \"loc\": {\n        \"start\": {\n          \"line\": 90,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 90,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 2786,\n      \"end\": 2789,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2789,\n      \"end\": 2790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2790,\n      \"end\": 2795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 2796,\n      \"end\": 2800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"of\",\n      \"start\": 2801,\n      \"end\": 2803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 2804,\n      \"end\": 2810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2810,\n      \"end\": 2811,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2812,\n      \"end\": 2813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2817,\n      \"end\": 2821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2821,\n      \"end\": 2822,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 2822,\n      \"end\": 2826,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2826,\n      \"end\": 2827,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"insert\",\n      \"start\": 2827,\n      \"end\": 2833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2833,\n      \"end\": 2834,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 2834,\n      \"end\": 2838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2838,\n      \"end\": 2839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 2840,\n      \"end\": 2845,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2845,\n      \"end\": 2846,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2846,\n      \"end\": 2847,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2850,\n      \"end\": 2851,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 2855,\n      \"end\": 2861,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2862,\n      \"end\": 2866,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2866,\n      \"end\": 2867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2869,\n      \"end\": 2870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Removes bodies from the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t \",\n      \"start\": 2873,\n      \"end\": 2976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"remove\",\n      \"start\": 2978,\n      \"end\": 2984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2984,\n      \"end\": 2985,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"...\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2985,\n      \"end\": 2988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 2988,\n      \"end\": 2994,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2994,\n      \"end\": 2995,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2996,\n      \"end\": 2997,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 3000,\n      \"end\": 3003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3003,\n      \"end\": 3004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3004,\n      \"end\": 3009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 3010,\n      \"end\": 3014,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"of\",\n      \"start\": 3015,\n      \"end\": 3017,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 3018,\n      \"end\": 3024,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3024,\n      \"end\": 3025,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3026,\n      \"end\": 3027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3031,\n      \"end\": 3035,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3035,\n      \"end\": 3036,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 3036,\n      \"end\": 3040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3040,\n      \"end\": 3041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"remove\",\n      \"start\": 3041,\n      \"end\": 3047,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3047,\n      \"end\": 3048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 3048,\n      \"end\": 3052,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3052,\n      \"end\": 3053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 3054,\n      \"end\": 3059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3059,\n      \"end\": 3060,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3060,\n      \"end\": 3061,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3064,\n      \"end\": 3065,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3069,\n      \"end\": 3075,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3076,\n      \"end\": 3080,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3080,\n      \"end\": 3081,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3083,\n      \"end\": 3084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Updates the collision system. This should be called before any collisions are tested.\\n\\t \",\n      \"start\": 3087,\n      \"end\": 3185,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 3187,\n      \"end\": 3193,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3193,\n      \"end\": 3194,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3194,\n      \"end\": 3195,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3196,\n      \"end\": 3197,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3200,\n      \"end\": 3204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3204,\n      \"end\": 3205,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 3205,\n      \"end\": 3209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3209,\n      \"end\": 3210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 3210,\n      \"end\": 3216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3216,\n      \"end\": 3217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3217,\n      \"end\": 3218,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3218,\n      \"end\": 3219,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3223,\n      \"end\": 3229,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3230,\n      \"end\": 3234,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3234,\n      \"end\": 3235,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3237,\n      \"end\": 3238,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 3241,\n      \"end\": 3402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"draw\",\n      \"start\": 3404,\n      \"end\": 3408,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3408,\n      \"end\": 3409,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 3409,\n      \"end\": 3416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3416,\n      \"end\": 3417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3418,\n      \"end\": 3419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3422,\n      \"end\": 3428,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3429,\n      \"end\": 3433,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3433,\n      \"end\": 3434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 3434,\n      \"end\": 3438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3438,\n      \"end\": 3439,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"draw\",\n      \"start\": 3439,\n      \"end\": 3443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3443,\n      \"end\": 3444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 3444,\n      \"end\": 3451,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3451,\n      \"end\": 3452,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3452,\n      \"end\": 3453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3455,\n      \"end\": 3456,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 3459,\n      \"end\": 3677,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"drawBVH\",\n      \"start\": 3679,\n      \"end\": 3686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3686,\n      \"end\": 3687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 3687,\n      \"end\": 3694,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3694,\n      \"end\": 3695,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3696,\n      \"end\": 3697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3700,\n      \"end\": 3706,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3707,\n      \"end\": 3711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3711,\n      \"end\": 3712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 3712,\n      \"end\": 3716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3716,\n      \"end\": 3717,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"drawBVH\",\n      \"start\": 3717,\n      \"end\": 3724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3724,\n      \"end\": 3725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 3725,\n      \"end\": 3732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3732,\n      \"end\": 3733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3733,\n      \"end\": 3734,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3736,\n      \"end\": 3737,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\\n\\t * @returns {Array<Body>}\\n\\t \",\n      \"start\": 3740,\n      \"end\": 3918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"potentials\",\n      \"start\": 3920,\n      \"end\": 3930,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3930,\n      \"end\": 3931,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 3931,\n      \"end\": 3935,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3935,\n      \"end\": 3936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3937,\n      \"end\": 3938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3941,\n      \"end\": 3947,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3948,\n      \"end\": 3952,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3952,\n      \"end\": 3953,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 3953,\n      \"end\": 3957,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3957,\n      \"end\": 3958,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"potentials\",\n      \"start\": 3958,\n      \"end\": 3968,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3968,\n      \"end\": 3969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 3969,\n      \"end\": 3973,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3973,\n      \"end\": 3974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3974,\n      \"end\": 3975,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3977,\n      \"end\": 3978,\n      \"loc\": {\n        \"start\": {\n          \"line\": 142,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 142,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Determines if two bodies are colliding\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n      \"start\": 3981,\n      \"end\": 4359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 150,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collides\",\n      \"start\": 4361,\n      \"end\": 4369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4369,\n      \"end\": 4370,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"source\",\n      \"start\": 4370,\n      \"end\": 4376,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4376,\n      \"end\": 4377,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target\",\n      \"start\": 4378,\n      \"end\": 4384,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4384,\n      \"end\": 4385,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 4386,\n      \"end\": 4392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4393,\n      \"end\": 4394,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 4395,\n      \"end\": 4399,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4399,\n      \"end\": 4400,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabb\",\n      \"start\": 4401,\n      \"end\": 4405,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4406,\n      \"end\": 4407,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 4408,\n      \"end\": 4412,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4412,\n      \"end\": 4413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4414,\n      \"end\": 4415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 4418,\n      \"end\": 4424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"SAT\",\n      \"start\": 4425,\n      \"end\": 4428,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4428,\n      \"end\": 4429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"source\",\n      \"start\": 4429,\n      \"end\": 4435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4435,\n      \"end\": 4436,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target\",\n      \"start\": 4437,\n      \"end\": 4443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4443,\n      \"end\": 4444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 4445,\n      \"end\": 4451,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4451,\n      \"end\": 4452,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabb\",\n      \"start\": 4453,\n      \"end\": 4457,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4457,\n      \"end\": 4458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4458,\n      \"end\": 4459,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4461,\n      \"end\": 4462,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4463,\n      \"end\": 4464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4464,\n      \"end\": 4465,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 4467,\n      \"end\": 4473,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4474,\n      \"end\": 4475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Collisions\",\n      \"start\": 4477,\n      \"end\": 4487,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"as\",\n      \"start\": 4488,\n      \"end\": 4490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 4491,\n      \"end\": 4498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4498,\n      \"end\": 4499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Collisions\",\n      \"start\": 4501,\n      \"end\": 4511,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4511,\n      \"end\": 4512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 4514,\n      \"end\": 4520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4520,\n      \"end\": 4521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Circle\",\n      \"start\": 4523,\n      \"end\": 4529,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4529,\n      \"end\": 4530,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Polygon\",\n      \"start\": 4532,\n      \"end\": 4539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4539,\n      \"end\": 4540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Point\",\n      \"start\": 4542,\n      \"end\": 4547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4547,\n      \"end\": 4548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4549,\n      \"end\": 4550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4550,\n      \"end\": 4551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4552,\n      \"end\": 4552,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/BVH.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 11371,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 411,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 11371,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 411,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 0,\n        \"end\": 40,\n        \"loc\": {\n          \"start\": {\n            \"line\": 1,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 1,\n            \"column\": 40\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 7,\n            \"end\": 16,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 1,\n                \"column\": 16\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 7,\n              \"end\": 16,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 1,\n                  \"column\": 16\n                },\n                \"identifierName\": \"BVHBranch\"\n              },\n              \"name\": \"BVHBranch\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 22,\n          \"end\": 39,\n          \"loc\": {\n            \"start\": {\n              \"line\": 1,\n              \"column\": 22\n            },\n            \"end\": {\n              \"line\": 1,\n              \"column\": 39\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./BVHBranch.mjs\",\n            \"raw\": \"'./BVHBranch.mjs'\"\n          },\n          \"value\": \"./BVHBranch.mjs\"\n        },\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\\n * @class\\n * @private\\n \",\n            \"start\": 42,\n            \"end\": 150,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 151,\n        \"end\": 11369,\n        \"loc\": {\n          \"start\": {\n            \"line\": 8,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 410,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 166,\n          \"end\": 11369,\n          \"loc\": {\n            \"start\": {\n              \"line\": 8,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 410,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 172,\n            \"end\": 175,\n            \"loc\": {\n              \"start\": {\n                \"line\": 8,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 8,\n                \"column\": 24\n              },\n              \"identifierName\": \"BVH\"\n            },\n            \"name\": \"BVH\",\n            \"leadingComments\": null\n          },\n          \"superClass\": null,\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 176,\n            \"end\": 11369,\n            \"loc\": {\n              \"start\": {\n                \"line\": 8,\n                \"column\": 25\n              },\n              \"end\": {\n                \"line\": 410,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 206,\n                \"end\": 356,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 12,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 21,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 206,\n                  \"end\": 217,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 12,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 12,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 220,\n                  \"end\": 356,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 12,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 21,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 242,\n                      \"end\": 265,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 242,\n                        \"end\": 264,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 14,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 14,\n                            \"column\": 24\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 242,\n                          \"end\": 257,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 14,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 14,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 242,\n                            \"end\": 246,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 14,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 14,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 247,\n                            \"end\": 257,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 14,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 14,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_hierarchy\"\n                            },\n                            \"name\": \"_hierarchy\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 260,\n                          \"end\": 264,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 14,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 14,\n                              \"column\": 24\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 224,\n                          \"end\": 239,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 13,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 13,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 269,\n                          \"end\": 284,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 16,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 16,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 287,\n                      \"end\": 305,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 17,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 17,\n                          \"column\": 20\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 287,\n                        \"end\": 304,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 17,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 17,\n                            \"column\": 19\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 287,\n                          \"end\": 299,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 287,\n                            \"end\": 291,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 292,\n                            \"end\": 299,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"_bodies\"\n                            },\n                            \"name\": \"_bodies\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"ArrayExpression\",\n                          \"start\": 302,\n                          \"end\": 304,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 19\n                            }\n                          },\n                          \"elements\": []\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 269,\n                          \"end\": 284,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 16,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 16,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 309,\n                          \"end\": 324,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 19,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 327,\n                      \"end\": 353,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 20,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 20,\n                          \"column\": 28\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 327,\n                        \"end\": 352,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 20,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 20,\n                            \"column\": 27\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 327,\n                          \"end\": 347,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 20,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 20,\n                              \"column\": 22\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 327,\n                            \"end\": 331,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 20,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 20,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 332,\n                            \"end\": 347,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 20,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 20,\n                                \"column\": 22\n                              },\n                              \"identifierName\": \"_dirty_branches\"\n                            },\n                            \"name\": \"_dirty_branches\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"ArrayExpression\",\n                          \"start\": 350,\n                          \"end\": 352,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 20,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 20,\n                              \"column\": 27\n                            }\n                          },\n                          \"elements\": []\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 309,\n                          \"end\": 324,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 19,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t \",\n                    \"start\": 179,\n                    \"end\": 204,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 9,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 11,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Inserts a body into the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to insert\\n\\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\\n\\t \",\n                    \"start\": 359,\n                    \"end\": 599,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 23,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 27,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 601,\n                \"end\": 5071,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 28,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 144,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 601,\n                  \"end\": 607,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 28,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 28,\n                      \"column\": 7\n                    },\n                    \"identifierName\": \"insert\"\n                  },\n                  \"name\": \"insert\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 608,\n                    \"end\": 612,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 28,\n                        \"column\": 8\n                      },\n                      \"end\": {\n                        \"line\": 28,\n                        \"column\": 12\n                      },\n                      \"identifierName\": \"body\"\n                    },\n                    \"name\": \"body\"\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 614,\n                    \"end\": 630,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 28,\n                        \"column\": 14\n                      },\n                      \"end\": {\n                        \"line\": 28,\n                        \"column\": 30\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 614,\n                      \"end\": 622,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 28,\n                          \"column\": 14\n                        },\n                        \"end\": {\n                          \"line\": 28,\n                          \"column\": 22\n                        },\n                        \"identifierName\": \"updating\"\n                      },\n                      \"name\": \"updating\"\n                    },\n                    \"right\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 625,\n                      \"end\": 630,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 28,\n                          \"column\": 25\n                        },\n                        \"end\": {\n                          \"line\": 28,\n                          \"column\": 30\n                        }\n                      },\n                      \"value\": false\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 632,\n                  \"end\": 5071,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 28,\n                      \"column\": 32\n                    },\n                    \"end\": {\n                      \"line\": 144,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 636,\n                      \"end\": 831,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 29,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 38,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"UnaryExpression\",\n                        \"start\": 639,\n                        \"end\": 648,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 29,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 29,\n                            \"column\": 14\n                          }\n                        },\n                        \"operator\": \"!\",\n                        \"prefix\": true,\n                        \"argument\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 640,\n                          \"end\": 648,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 29,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 29,\n                              \"column\": 14\n                            },\n                            \"identifierName\": \"updating\"\n                          },\n                          \"name\": \"updating\"\n                        },\n                        \"extra\": {\n                          \"parenthesizedArgument\": false\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 650,\n                        \"end\": 831,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 29,\n                            \"column\": 16\n                          },\n                          \"end\": {\n                            \"line\": 38,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 655,\n                            \"end\": 677,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 30,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 30,\n                                \"column\": 25\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 661,\n                                \"end\": 676,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 30,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 30,\n                                    \"column\": 24\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 661,\n                                  \"end\": 664,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 30,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 30,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"bvh\"\n                                  },\n                                  \"name\": \"bvh\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 667,\n                                  \"end\": 676,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 30,\n                                      \"column\": 15\n                                    },\n                                    \"end\": {\n                                      \"line\": 30,\n                                      \"column\": 24\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 667,\n                                    \"end\": 671,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 30,\n                                        \"column\": 15\n                                      },\n                                      \"end\": {\n                                        \"line\": 30,\n                                        \"column\": 19\n                                      },\n                                      \"identifierName\": \"body\"\n                                    },\n                                    \"name\": \"body\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 672,\n                                    \"end\": 676,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 30,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 30,\n                                        \"column\": 24\n                                      },\n                                      \"identifierName\": \"_bvh\"\n                                    },\n                                    \"name\": \"_bvh\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 682,\n                            \"end\": 777,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 32,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 34,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 685,\n                              \"end\": 704,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 32,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 32,\n                                  \"column\": 25\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 685,\n                                \"end\": 688,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 32,\n                                    \"column\": 6\n                                  },\n                                  \"end\": {\n                                    \"line\": 32,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"bvh\"\n                                },\n                                \"name\": \"bvh\"\n                              },\n                              \"operator\": \"&&\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 692,\n                                \"end\": 704,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 32,\n                                    \"column\": 13\n                                  },\n                                  \"end\": {\n                                    \"line\": 32,\n                                    \"column\": 25\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 692,\n                                  \"end\": 695,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 32,\n                                      \"column\": 13\n                                    },\n                                    \"end\": {\n                                      \"line\": 32,\n                                      \"column\": 16\n                                    },\n                                    \"identifierName\": \"bvh\"\n                                  },\n                                  \"name\": \"bvh\"\n                                },\n                                \"operator\": \"!==\",\n                                \"right\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 700,\n                                  \"end\": 704,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 32,\n                                      \"column\": 21\n                                    },\n                                    \"end\": {\n                                      \"line\": 32,\n                                      \"column\": 25\n                                    }\n                                  }\n                                }\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 706,\n                              \"end\": 777,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 32,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 34,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ThrowStatement\",\n                                  \"start\": 712,\n                                  \"end\": 772,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 33,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 33,\n                                      \"column\": 64\n                                    }\n                                  },\n                                  \"argument\": {\n                                    \"type\": \"NewExpression\",\n                                    \"start\": 718,\n                                    \"end\": 771,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 33,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 33,\n                                        \"column\": 63\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 722,\n                                      \"end\": 727,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 33,\n                                          \"column\": 14\n                                        },\n                                        \"end\": {\n                                          \"line\": 33,\n                                          \"column\": 19\n                                        },\n                                        \"identifierName\": \"Error\"\n                                      },\n                                      \"name\": \"Error\"\n                                    },\n                                    \"arguments\": [\n                                      {\n                                        \"type\": \"StringLiteral\",\n                                        \"start\": 728,\n                                        \"end\": 770,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 33,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 33,\n                                            \"column\": 62\n                                          }\n                                        },\n                                        \"extra\": {\n                                          \"rawValue\": \"Body belongs to another collision system\",\n                                          \"raw\": \"'Body belongs to another collision system'\"\n                                        },\n                                        \"value\": \"Body belongs to another collision system\"\n                                      }\n                                    ]\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 782,\n                            \"end\": 799,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 36,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 36,\n                                \"column\": 20\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 782,\n                              \"end\": 798,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 36,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 36,\n                                  \"column\": 19\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 782,\n                                \"end\": 791,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 36,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 36,\n                                    \"column\": 12\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 782,\n                                  \"end\": 786,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 36,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 36,\n                                      \"column\": 7\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 787,\n                                  \"end\": 791,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 36,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 36,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"_bvh\"\n                                  },\n                                  \"name\": \"_bvh\"\n                                },\n                                \"computed\": false\n                              },\n                              \"right\": {\n                                \"type\": \"ThisExpression\",\n                                \"start\": 794,\n                                \"end\": 798,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 36,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 36,\n                                    \"column\": 19\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 803,\n                            \"end\": 827,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 37,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 37,\n                                \"column\": 27\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 803,\n                              \"end\": 826,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 37,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 37,\n                                  \"column\": 26\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 803,\n                                \"end\": 820,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 37,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 37,\n                                    \"column\": 20\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 803,\n                                  \"end\": 815,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 37,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 37,\n                                      \"column\": 15\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"ThisExpression\",\n                                    \"start\": 803,\n                                    \"end\": 807,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 37,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 37,\n                                        \"column\": 7\n                                      }\n                                    }\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 808,\n                                    \"end\": 815,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 37,\n                                        \"column\": 8\n                                      },\n                                      \"end\": {\n                                        \"line\": 37,\n                                        \"column\": 15\n                                      },\n                                      \"identifierName\": \"_bodies\"\n                                    },\n                                    \"name\": \"_bodies\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 816,\n                                  \"end\": 820,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 37,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 37,\n                                      \"column\": 20\n                                    },\n                                    \"identifierName\": \"push\"\n                                  },\n                                  \"name\": \"push\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 821,\n                                  \"end\": 825,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 37,\n                                      \"column\": 21\n                                    },\n                                    \"end\": {\n                                      \"line\": 37,\n                                      \"column\": 25\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 835,\n                      \"end\": 865,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 40,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 40,\n                          \"column\": 32\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 841,\n                          \"end\": 864,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 40,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 40,\n                              \"column\": 31\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 841,\n                            \"end\": 848,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 40,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 40,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"polygon\"\n                            },\n                            \"name\": \"polygon\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 851,\n                            \"end\": 864,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 40,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 40,\n                                \"column\": 31\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 851,\n                              \"end\": 855,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 40,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 40,\n                                  \"column\": 22\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 856,\n                              \"end\": 864,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 40,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 40,\n                                  \"column\": 31\n                                },\n                                \"identifierName\": \"_polygon\"\n                              },\n                              \"name\": \"_polygon\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 868,\n                      \"end\": 891,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 41,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 41,\n                          \"column\": 25\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 874,\n                          \"end\": 890,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 24\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 874,\n                            \"end\": 880,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"body_x\"\n                            },\n                            \"name\": \"body_x\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 884,\n                            \"end\": 890,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 24\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 884,\n                              \"end\": 888,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 41,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 41,\n                                  \"column\": 22\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 889,\n                              \"end\": 890,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 41,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 41,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 894,\n                      \"end\": 917,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 42,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 42,\n                          \"column\": 25\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 900,\n                          \"end\": 916,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 42,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 42,\n                              \"column\": 24\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 900,\n                            \"end\": 906,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"body_y\"\n                            },\n                            \"name\": \"body_y\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 910,\n                            \"end\": 916,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 24\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 910,\n                              \"end\": 914,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 42,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 42,\n                                  \"column\": 22\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 915,\n                              \"end\": 916,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 42,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 42,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 921,\n                      \"end\": 1185,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 44,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 55,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 924,\n                        \"end\": 931,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 44,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 44,\n                            \"column\": 12\n                          },\n                          \"identifierName\": \"polygon\"\n                        },\n                        \"name\": \"polygon\"\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 933,\n                        \"end\": 1185,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 44,\n                            \"column\": 14\n                          },\n                          \"end\": {\n                            \"line\": 55,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 938,\n                            \"end\": 1181,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 45,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 54,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 946,\n                              \"end\": 1140,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 46,\n                                  \"column\": 4\n                                },\n                                \"end\": {\n                                  \"line\": 51,\n                                  \"column\": 34\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"LogicalExpression\",\n                                \"start\": 946,\n                                \"end\": 1102,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 46,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 34\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"LogicalExpression\",\n                                  \"start\": 946,\n                                  \"end\": 1064,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 46,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 49,\n                                      \"column\": 32\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"LogicalExpression\",\n                                    \"start\": 946,\n                                    \"end\": 1028,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 46,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 48,\n                                        \"column\": 28\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"LogicalExpression\",\n                                      \"start\": 946,\n                                      \"end\": 996,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 46,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 47,\n                                          \"column\": 28\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 946,\n                                        \"end\": 964,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 46,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 46,\n                                            \"column\": 22\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 946,\n                                          \"end\": 950,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 46,\n                                              \"column\": 4\n                                            },\n                                            \"end\": {\n                                              \"line\": 46,\n                                              \"column\": 8\n                                            },\n                                            \"identifierName\": \"body\"\n                                          },\n                                          \"name\": \"body\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 951,\n                                          \"end\": 964,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 46,\n                                              \"column\": 9\n                                            },\n                                            \"end\": {\n                                              \"line\": 46,\n                                              \"column\": 22\n                                            },\n                                            \"identifierName\": \"_dirty_coords\"\n                                          },\n                                          \"name\": \"_dirty_coords\"\n                                        },\n                                        \"computed\": false\n                                      },\n                                      \"operator\": \"||\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 972,\n                                        \"end\": 996,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 47,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 47,\n                                            \"column\": 28\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 972,\n                                          \"end\": 978,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 47,\n                                              \"column\": 4\n                                            },\n                                            \"end\": {\n                                              \"line\": 47,\n                                              \"column\": 10\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 972,\n                                            \"end\": 976,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 47,\n                                                \"column\": 4\n                                              },\n                                              \"end\": {\n                                                \"line\": 47,\n                                                \"column\": 8\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 977,\n                                            \"end\": 978,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 47,\n                                                \"column\": 9\n                                              },\n                                              \"end\": {\n                                                \"line\": 47,\n                                                \"column\": 10\n                                              },\n                                              \"identifierName\": \"x\"\n                                            },\n                                            \"name\": \"x\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"operator\": \"!==\",\n                                        \"right\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 989,\n                                          \"end\": 996,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 47,\n                                              \"column\": 21\n                                            },\n                                            \"end\": {\n                                              \"line\": 47,\n                                              \"column\": 28\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 989,\n                                            \"end\": 993,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 47,\n                                                \"column\": 21\n                                              },\n                                              \"end\": {\n                                                \"line\": 47,\n                                                \"column\": 25\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 994,\n                                            \"end\": 996,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 47,\n                                                \"column\": 26\n                                              },\n                                              \"end\": {\n                                                \"line\": 47,\n                                                \"column\": 28\n                                              },\n                                              \"identifierName\": \"_x\"\n                                            },\n                                            \"name\": \"_x\"\n                                          },\n                                          \"computed\": false\n                                        }\n                                      }\n                                    },\n                                    \"operator\": \"||\",\n                                    \"right\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 1004,\n                                      \"end\": 1028,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 48,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 48,\n                                          \"column\": 28\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 1004,\n                                        \"end\": 1010,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 48,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 48,\n                                            \"column\": 10\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 1004,\n                                          \"end\": 1008,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 48,\n                                              \"column\": 4\n                                            },\n                                            \"end\": {\n                                              \"line\": 48,\n                                              \"column\": 8\n                                            },\n                                            \"identifierName\": \"body\"\n                                          },\n                                          \"name\": \"body\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 1009,\n                                          \"end\": 1010,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 48,\n                                              \"column\": 9\n                                            },\n                                            \"end\": {\n                                              \"line\": 48,\n                                              \"column\": 10\n                                            },\n                                            \"identifierName\": \"y\"\n                                          },\n                                          \"name\": \"y\"\n                                        },\n                                        \"computed\": false\n                                      },\n                                      \"operator\": \"!==\",\n                                      \"right\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 1021,\n                                        \"end\": 1028,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 48,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 48,\n                                            \"column\": 28\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 1021,\n                                          \"end\": 1025,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 48,\n                                              \"column\": 21\n                                            },\n                                            \"end\": {\n                                              \"line\": 48,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"body\"\n                                          },\n                                          \"name\": \"body\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 1026,\n                                          \"end\": 1028,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 48,\n                                              \"column\": 26\n                                            },\n                                            \"end\": {\n                                              \"line\": 48,\n                                              \"column\": 28\n                                            },\n                                            \"identifierName\": \"_y\"\n                                          },\n                                          \"name\": \"_y\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  },\n                                  \"operator\": \"||\",\n                                  \"right\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 1036,\n                                    \"end\": 1064,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 49,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 49,\n                                        \"column\": 32\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 1036,\n                                      \"end\": 1046,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 49,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 49,\n                                          \"column\": 14\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 1036,\n                                        \"end\": 1040,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 49,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 49,\n                                            \"column\": 8\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 1041,\n                                        \"end\": 1046,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 49,\n                                            \"column\": 9\n                                          },\n                                          \"end\": {\n                                            \"line\": 49,\n                                            \"column\": 14\n                                          },\n                                          \"identifierName\": \"angle\"\n                                        },\n                                        \"name\": \"angle\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"operator\": \"!==\",\n                                    \"right\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 1053,\n                                      \"end\": 1064,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 49,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 49,\n                                          \"column\": 32\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 1053,\n                                        \"end\": 1057,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 49,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 49,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 1058,\n                                        \"end\": 1064,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 49,\n                                            \"column\": 26\n                                          },\n                                          \"end\": {\n                                            \"line\": 49,\n                                            \"column\": 32\n                                          },\n                                          \"identifierName\": \"_angle\"\n                                        },\n                                        \"name\": \"_angle\"\n                                      },\n                                      \"computed\": false\n                                    }\n                                  }\n                                },\n                                \"operator\": \"||\",\n                                \"right\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 1072,\n                                  \"end\": 1102,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 50,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 50,\n                                      \"column\": 34\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 1072,\n                                    \"end\": 1084,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 50,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 50,\n                                        \"column\": 16\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1072,\n                                      \"end\": 1076,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 50,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 50,\n                                          \"column\": 8\n                                        },\n                                        \"identifierName\": \"body\"\n                                      },\n                                      \"name\": \"body\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1077,\n                                      \"end\": 1084,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 50,\n                                          \"column\": 9\n                                        },\n                                        \"end\": {\n                                          \"line\": 50,\n                                          \"column\": 16\n                                        },\n                                        \"identifierName\": \"scale_x\"\n                                      },\n                                      \"name\": \"scale_x\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"operator\": \"!==\",\n                                  \"right\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 1089,\n                                    \"end\": 1102,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 50,\n                                        \"column\": 21\n                                      },\n                                      \"end\": {\n                                        \"line\": 50,\n                                        \"column\": 34\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1089,\n                                      \"end\": 1093,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 50,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 50,\n                                          \"column\": 25\n                                        },\n                                        \"identifierName\": \"body\"\n                                      },\n                                      \"name\": \"body\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1094,\n                                      \"end\": 1102,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 50,\n                                          \"column\": 26\n                                        },\n                                        \"end\": {\n                                          \"line\": 50,\n                                          \"column\": 34\n                                        },\n                                        \"identifierName\": \"_scale_x\"\n                                      },\n                                      \"name\": \"_scale_x\"\n                                    },\n                                    \"computed\": false\n                                  }\n                                }\n                              },\n                              \"operator\": \"||\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 1110,\n                                \"end\": 1140,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 51,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 51,\n                                    \"column\": 34\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 1110,\n                                  \"end\": 1122,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 51,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 51,\n                                      \"column\": 16\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1110,\n                                    \"end\": 1114,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 51,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 51,\n                                        \"column\": 8\n                                      },\n                                      \"identifierName\": \"body\"\n                                    },\n                                    \"name\": \"body\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1115,\n                                    \"end\": 1122,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 51,\n                                        \"column\": 9\n                                      },\n                                      \"end\": {\n                                        \"line\": 51,\n                                        \"column\": 16\n                                      },\n                                      \"identifierName\": \"scale_y\"\n                                    },\n                                    \"name\": \"scale_y\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"!==\",\n                                \"right\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 1127,\n                                  \"end\": 1140,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 51,\n                                      \"column\": 21\n                                    },\n                                    \"end\": {\n                                      \"line\": 51,\n                                      \"column\": 34\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1127,\n                                    \"end\": 1131,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 51,\n                                        \"column\": 21\n                                      },\n                                      \"end\": {\n                                        \"line\": 51,\n                                        \"column\": 25\n                                      },\n                                      \"identifierName\": \"body\"\n                                    },\n                                    \"name\": \"body\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1132,\n                                    \"end\": 1140,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 51,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 51,\n                                        \"column\": 34\n                                      },\n                                      \"identifierName\": \"_scale_y\"\n                                    },\n                                    \"name\": \"_scale_y\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 1146,\n                              \"end\": 1181,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 52,\n                                  \"column\": 5\n                                },\n                                \"end\": {\n                                  \"line\": 54,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 1152,\n                                  \"end\": 1176,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 53,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 53,\n                                      \"column\": 28\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"CallExpression\",\n                                    \"start\": 1152,\n                                    \"end\": 1175,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 53,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 53,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 1152,\n                                      \"end\": 1173,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 53,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 53,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 1152,\n                                        \"end\": 1156,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 53,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 53,\n                                            \"column\": 8\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 1157,\n                                        \"end\": 1173,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 53,\n                                            \"column\": 9\n                                          },\n                                          \"end\": {\n                                            \"line\": 53,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"_calculateCoords\"\n                                        },\n                                        \"name\": \"_calculateCoords\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"arguments\": []\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1189,\n                      \"end\": 1226,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 57,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 57,\n                          \"column\": 39\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1195,\n                          \"end\": 1225,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 57,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 57,\n                              \"column\": 38\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1195,\n                            \"end\": 1202,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 57,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 57,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"padding\"\n                            },\n                            \"name\": \"padding\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1208,\n                            \"end\": 1225,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 57,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 57,\n                                \"column\": 38\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1208,\n                              \"end\": 1212,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 57,\n                                  \"column\": 21\n                                },\n                                \"end\": {\n                                  \"line\": 57,\n                                  \"column\": 25\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1213,\n                              \"end\": 1225,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 57,\n                                  \"column\": 26\n                                },\n                                \"end\": {\n                                  \"line\": 57,\n                                  \"column\": 38\n                                },\n                                \"identifierName\": \"_bvh_padding\"\n                              },\n                              \"name\": \"_bvh_padding\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1229,\n                      \"end\": 1287,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 58,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 58,\n                          \"column\": 60\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1235,\n                          \"end\": 1286,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 58,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 58,\n                              \"column\": 59\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1235,\n                            \"end\": 1241,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 58,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 58,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"radius\"\n                            },\n                            \"name\": \"radius\"\n                          },\n                          \"init\": {\n                            \"type\": \"ConditionalExpression\",\n                            \"start\": 1248,\n                            \"end\": 1286,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 58,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 58,\n                                \"column\": 59\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1248,\n                              \"end\": 1255,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 58,\n                                  \"column\": 21\n                                },\n                                \"end\": {\n                                  \"line\": 58,\n                                  \"column\": 28\n                                },\n                                \"identifierName\": \"polygon\"\n                              },\n                              \"name\": \"polygon\"\n                            },\n                            \"consequent\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 1258,\n                              \"end\": 1259,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 58,\n                                  \"column\": 31\n                                },\n                                \"end\": {\n                                  \"line\": 58,\n                                  \"column\": 32\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            },\n                            \"alternate\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 1262,\n                              \"end\": 1286,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 58,\n                                  \"column\": 35\n                                },\n                                \"end\": {\n                                  \"line\": 58,\n                                  \"column\": 59\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1262,\n                                \"end\": 1273,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 58,\n                                    \"column\": 35\n                                  },\n                                  \"end\": {\n                                    \"line\": 58,\n                                    \"column\": 46\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1262,\n                                  \"end\": 1266,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 58,\n                                      \"column\": 35\n                                    },\n                                    \"end\": {\n                                      \"line\": 58,\n                                      \"column\": 39\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1267,\n                                  \"end\": 1273,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 58,\n                                      \"column\": 40\n                                    },\n                                    \"end\": {\n                                      \"line\": 58,\n                                      \"column\": 46\n                                    },\n                                    \"identifierName\": \"radius\"\n                                  },\n                                  \"name\": \"radius\"\n                                },\n                                \"computed\": false\n                              },\n                              \"operator\": \"*\",\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1276,\n                                \"end\": 1286,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 58,\n                                    \"column\": 49\n                                  },\n                                  \"end\": {\n                                    \"line\": 58,\n                                    \"column\": 59\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1276,\n                                  \"end\": 1280,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 58,\n                                      \"column\": 49\n                                    },\n                                    \"end\": {\n                                      \"line\": 58,\n                                      \"column\": 53\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1281,\n                                  \"end\": 1286,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 58,\n                                      \"column\": 54\n                                    },\n                                    \"end\": {\n                                      \"line\": 58,\n                                      \"column\": 59\n                                    },\n                                    \"identifierName\": \"scale\"\n                                  },\n                                  \"name\": \"scale\"\n                                },\n                                \"computed\": false\n                              }\n                            }\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1290,\n                      \"end\": 1361,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 59,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 59,\n                          \"column\": 73\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1296,\n                          \"end\": 1360,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 59,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 59,\n                              \"column\": 72\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1296,\n                            \"end\": 1306,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 59,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 59,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"body_min_x\"\n                            },\n                            \"name\": \"body_min_x\"\n                          },\n                          \"init\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 1309,\n                            \"end\": 1360,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 59,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 59,\n                                \"column\": 72\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"ConditionalExpression\",\n                              \"start\": 1310,\n                              \"end\": 1349,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 59,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 59,\n                                  \"column\": 61\n                                }\n                              },\n                              \"test\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1310,\n                                \"end\": 1317,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 59,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 59,\n                                    \"column\": 29\n                                  },\n                                  \"identifierName\": \"polygon\"\n                                },\n                                \"name\": \"polygon\"\n                              },\n                              \"consequent\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1320,\n                                \"end\": 1331,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 59,\n                                    \"column\": 32\n                                  },\n                                  \"end\": {\n                                    \"line\": 59,\n                                    \"column\": 43\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1320,\n                                  \"end\": 1324,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 59,\n                                      \"column\": 32\n                                    },\n                                    \"end\": {\n                                      \"line\": 59,\n                                      \"column\": 36\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1325,\n                                  \"end\": 1331,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 59,\n                                      \"column\": 37\n                                    },\n                                    \"end\": {\n                                      \"line\": 59,\n                                      \"column\": 43\n                                    },\n                                    \"identifierName\": \"_min_x\"\n                                  },\n                                  \"name\": \"_min_x\"\n                                },\n                                \"computed\": false\n                              },\n                              \"alternate\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 1334,\n                                \"end\": 1349,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 59,\n                                    \"column\": 46\n                                  },\n                                  \"end\": {\n                                    \"line\": 59,\n                                    \"column\": 61\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1334,\n                                  \"end\": 1340,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 59,\n                                      \"column\": 46\n                                    },\n                                    \"end\": {\n                                      \"line\": 59,\n                                      \"column\": 52\n                                    },\n                                    \"identifierName\": \"body_x\"\n                                  },\n                                  \"name\": \"body_x\"\n                                },\n                                \"operator\": \"-\",\n                                \"right\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1343,\n                                  \"end\": 1349,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 59,\n                                      \"column\": 55\n                                    },\n                                    \"end\": {\n                                      \"line\": 59,\n                                      \"column\": 61\n                                    },\n                                    \"identifierName\": \"radius\"\n                                  },\n                                  \"name\": \"radius\"\n                                }\n                              },\n                              \"extra\": {\n                                \"parenthesized\": true,\n                                \"parenStart\": 1309\n                              }\n                            },\n                            \"operator\": \"-\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1353,\n                              \"end\": 1360,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 59,\n                                  \"column\": 65\n                                },\n                                \"end\": {\n                                  \"line\": 59,\n                                  \"column\": 72\n                                },\n                                \"identifierName\": \"padding\"\n                              },\n                              \"name\": \"padding\"\n                            }\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1364,\n                      \"end\": 1435,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 60,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 60,\n                          \"column\": 73\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1370,\n                          \"end\": 1434,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 60,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 60,\n                              \"column\": 72\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1370,\n                            \"end\": 1380,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 60,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 60,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"body_min_y\"\n                            },\n                            \"name\": \"body_min_y\"\n                          },\n                          \"init\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 1383,\n                            \"end\": 1434,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 60,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 60,\n                                \"column\": 72\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"ConditionalExpression\",\n                              \"start\": 1384,\n                              \"end\": 1423,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 60,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 60,\n                                  \"column\": 61\n                                }\n                              },\n                              \"test\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1384,\n                                \"end\": 1391,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 60,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 60,\n                                    \"column\": 29\n                                  },\n                                  \"identifierName\": \"polygon\"\n                                },\n                                \"name\": \"polygon\"\n                              },\n                              \"consequent\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1394,\n                                \"end\": 1405,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 60,\n                                    \"column\": 32\n                                  },\n                                  \"end\": {\n                                    \"line\": 60,\n                                    \"column\": 43\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1394,\n                                  \"end\": 1398,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 60,\n                                      \"column\": 32\n                                    },\n                                    \"end\": {\n                                      \"line\": 60,\n                                      \"column\": 36\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1399,\n                                  \"end\": 1405,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 60,\n                                      \"column\": 37\n                                    },\n                                    \"end\": {\n                                      \"line\": 60,\n                                      \"column\": 43\n                                    },\n                                    \"identifierName\": \"_min_y\"\n                                  },\n                                  \"name\": \"_min_y\"\n                                },\n                                \"computed\": false\n                              },\n                              \"alternate\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 1408,\n                                \"end\": 1423,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 60,\n                                    \"column\": 46\n                                  },\n                                  \"end\": {\n                                    \"line\": 60,\n                                    \"column\": 61\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1408,\n                                  \"end\": 1414,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 60,\n                                      \"column\": 46\n                                    },\n                                    \"end\": {\n                                      \"line\": 60,\n                                      \"column\": 52\n                                    },\n                                    \"identifierName\": \"body_y\"\n                                  },\n                                  \"name\": \"body_y\"\n                                },\n                                \"operator\": \"-\",\n                                \"right\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1417,\n                                  \"end\": 1423,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 60,\n                                      \"column\": 55\n                                    },\n                                    \"end\": {\n                                      \"line\": 60,\n                                      \"column\": 61\n                                    },\n                                    \"identifierName\": \"radius\"\n                                  },\n                                  \"name\": \"radius\"\n                                }\n                              },\n                              \"extra\": {\n                                \"parenthesized\": true,\n                                \"parenStart\": 1383\n                              }\n                            },\n                            \"operator\": \"-\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1427,\n                              \"end\": 1434,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 60,\n                                  \"column\": 65\n                                },\n                                \"end\": {\n                                  \"line\": 60,\n                                  \"column\": 72\n                                },\n                                \"identifierName\": \"padding\"\n                              },\n                              \"name\": \"padding\"\n                            }\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1438,\n                      \"end\": 1509,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 61,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 61,\n                          \"column\": 73\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1444,\n                          \"end\": 1508,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 61,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 61,\n                              \"column\": 72\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1444,\n                            \"end\": 1454,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 61,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 61,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"body_max_x\"\n                            },\n                            \"name\": \"body_max_x\"\n                          },\n                          \"init\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 1457,\n                            \"end\": 1508,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 61,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 61,\n                                \"column\": 72\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"ConditionalExpression\",\n                              \"start\": 1458,\n                              \"end\": 1497,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 61,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 61,\n                                  \"column\": 61\n                                }\n                              },\n                              \"test\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1458,\n                                \"end\": 1465,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 61,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 61,\n                                    \"column\": 29\n                                  },\n                                  \"identifierName\": \"polygon\"\n                                },\n                                \"name\": \"polygon\"\n                              },\n                              \"consequent\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1468,\n                                \"end\": 1479,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 61,\n                                    \"column\": 32\n                                  },\n                                  \"end\": {\n                                    \"line\": 61,\n                                    \"column\": 43\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1468,\n                                  \"end\": 1472,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 61,\n                                      \"column\": 32\n                                    },\n                                    \"end\": {\n                                      \"line\": 61,\n                                      \"column\": 36\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1473,\n                                  \"end\": 1479,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 61,\n                                      \"column\": 37\n                                    },\n                                    \"end\": {\n                                      \"line\": 61,\n                                      \"column\": 43\n                                    },\n                                    \"identifierName\": \"_max_x\"\n                                  },\n                                  \"name\": \"_max_x\"\n                                },\n                                \"computed\": false\n                              },\n                              \"alternate\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 1482,\n                                \"end\": 1497,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 61,\n                                    \"column\": 46\n                                  },\n                                  \"end\": {\n                                    \"line\": 61,\n                                    \"column\": 61\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1482,\n                                  \"end\": 1488,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 61,\n                                      \"column\": 46\n                                    },\n                                    \"end\": {\n                                      \"line\": 61,\n                                      \"column\": 52\n                                    },\n                                    \"identifierName\": \"body_x\"\n                                  },\n                                  \"name\": \"body_x\"\n                                },\n                                \"operator\": \"+\",\n                                \"right\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1491,\n                                  \"end\": 1497,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 61,\n                                      \"column\": 55\n                                    },\n                                    \"end\": {\n                                      \"line\": 61,\n                                      \"column\": 61\n                                    },\n                                    \"identifierName\": \"radius\"\n                                  },\n                                  \"name\": \"radius\"\n                                }\n                              },\n                              \"extra\": {\n                                \"parenthesized\": true,\n                                \"parenStart\": 1457\n                              }\n                            },\n                            \"operator\": \"+\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1501,\n                              \"end\": 1508,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 61,\n                                  \"column\": 65\n                                },\n                                \"end\": {\n                                  \"line\": 61,\n                                  \"column\": 72\n                                },\n                                \"identifierName\": \"padding\"\n                              },\n                              \"name\": \"padding\"\n                            }\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1512,\n                      \"end\": 1583,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 62,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 62,\n                          \"column\": 73\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1518,\n                          \"end\": 1582,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 62,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 62,\n                              \"column\": 72\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1518,\n                            \"end\": 1528,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 62,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 62,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"body_max_y\"\n                            },\n                            \"name\": \"body_max_y\"\n                          },\n                          \"init\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 1531,\n                            \"end\": 1582,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 62,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 62,\n                                \"column\": 72\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"ConditionalExpression\",\n                              \"start\": 1532,\n                              \"end\": 1571,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 62,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 62,\n                                  \"column\": 61\n                                }\n                              },\n                              \"test\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1532,\n                                \"end\": 1539,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 62,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 62,\n                                    \"column\": 29\n                                  },\n                                  \"identifierName\": \"polygon\"\n                                },\n                                \"name\": \"polygon\"\n                              },\n                              \"consequent\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1542,\n                                \"end\": 1553,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 62,\n                                    \"column\": 32\n                                  },\n                                  \"end\": {\n                                    \"line\": 62,\n                                    \"column\": 43\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1542,\n                                  \"end\": 1546,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 62,\n                                      \"column\": 32\n                                    },\n                                    \"end\": {\n                                      \"line\": 62,\n                                      \"column\": 36\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1547,\n                                  \"end\": 1553,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 62,\n                                      \"column\": 37\n                                    },\n                                    \"end\": {\n                                      \"line\": 62,\n                                      \"column\": 43\n                                    },\n                                    \"identifierName\": \"_max_y\"\n                                  },\n                                  \"name\": \"_max_y\"\n                                },\n                                \"computed\": false\n                              },\n                              \"alternate\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 1556,\n                                \"end\": 1571,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 62,\n                                    \"column\": 46\n                                  },\n                                  \"end\": {\n                                    \"line\": 62,\n                                    \"column\": 61\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1556,\n                                  \"end\": 1562,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 62,\n                                      \"column\": 46\n                                    },\n                                    \"end\": {\n                                      \"line\": 62,\n                                      \"column\": 52\n                                    },\n                                    \"identifierName\": \"body_y\"\n                                  },\n                                  \"name\": \"body_y\"\n                                },\n                                \"operator\": \"+\",\n                                \"right\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1565,\n                                  \"end\": 1571,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 62,\n                                      \"column\": 55\n                                    },\n                                    \"end\": {\n                                      \"line\": 62,\n                                      \"column\": 61\n                                    },\n                                    \"identifierName\": \"radius\"\n                                  },\n                                  \"name\": \"radius\"\n                                }\n                              },\n                              \"extra\": {\n                                \"parenthesized\": true,\n                                \"parenStart\": 1531\n                              }\n                            },\n                            \"operator\": \"+\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1575,\n                              \"end\": 1582,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 62,\n                                  \"column\": 65\n                                },\n                                \"end\": {\n                                  \"line\": 62,\n                                  \"column\": 72\n                                },\n                                \"identifierName\": \"padding\"\n                              },\n                              \"name\": \"padding\"\n                            }\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1587,\n                      \"end\": 1616,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 64,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 64,\n                          \"column\": 31\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1587,\n                        \"end\": 1615,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 64,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 64,\n                            \"column\": 30\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1587,\n                          \"end\": 1602,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 64,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 64,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1587,\n                            \"end\": 1591,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 64,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 64,\n                                \"column\": 6\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1592,\n                            \"end\": 1602,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 64,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 64,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_min_x\"\n                            },\n                            \"name\": \"_bvh_min_x\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1605,\n                          \"end\": 1615,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 64,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 64,\n                              \"column\": 30\n                            },\n                            \"identifierName\": \"body_min_x\"\n                          },\n                          \"name\": \"body_min_x\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1619,\n                      \"end\": 1648,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 65,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 65,\n                          \"column\": 31\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1619,\n                        \"end\": 1647,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 65,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 65,\n                            \"column\": 30\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1619,\n                          \"end\": 1634,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1619,\n                            \"end\": 1623,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 65,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 6\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1624,\n                            \"end\": 1634,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 65,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_min_y\"\n                            },\n                            \"name\": \"_bvh_min_y\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1637,\n                          \"end\": 1647,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 30\n                            },\n                            \"identifierName\": \"body_min_y\"\n                          },\n                          \"name\": \"body_min_y\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1651,\n                      \"end\": 1680,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 66,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 66,\n                          \"column\": 31\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1651,\n                        \"end\": 1679,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 66,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 66,\n                            \"column\": 30\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1651,\n                          \"end\": 1666,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 66,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 66,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1651,\n                            \"end\": 1655,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 66,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 66,\n                                \"column\": 6\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1656,\n                            \"end\": 1666,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 66,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 66,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_max_x\"\n                            },\n                            \"name\": \"_bvh_max_x\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1669,\n                          \"end\": 1679,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 66,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 66,\n                              \"column\": 30\n                            },\n                            \"identifierName\": \"body_max_x\"\n                          },\n                          \"name\": \"body_max_x\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1683,\n                      \"end\": 1712,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 67,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 67,\n                          \"column\": 31\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1683,\n                        \"end\": 1711,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 67,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 67,\n                            \"column\": 30\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1683,\n                          \"end\": 1698,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1683,\n                            \"end\": 1687,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 67,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 67,\n                                \"column\": 6\n                              },\n                              \"identifierName\": \"body\"\n                            },\n                            \"name\": \"body\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1688,\n                            \"end\": 1698,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 67,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 67,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_max_y\"\n                            },\n                            \"name\": \"_bvh_max_y\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1701,\n                          \"end\": 1711,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 30\n                            },\n                            \"identifierName\": \"body_max_y\"\n                          },\n                          \"name\": \"body_max_y\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1716,\n                      \"end\": 1746,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 69,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 69,\n                          \"column\": 32\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1720,\n                          \"end\": 1745,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 69,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 69,\n                              \"column\": 31\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1720,\n                            \"end\": 1727,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 69,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 69,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"current\"\n                            },\n                            \"name\": \"current\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1730,\n                            \"end\": 1745,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 69,\n                                \"column\": 16\n                              },\n                              \"end\": {\n                                \"line\": 69,\n                                \"column\": 31\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 1730,\n                              \"end\": 1734,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 69,\n                                  \"column\": 16\n                                },\n                                \"end\": {\n                                  \"line\": 69,\n                                  \"column\": 20\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1735,\n                              \"end\": 1745,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 69,\n                                  \"column\": 21\n                                },\n                                \"end\": {\n                                  \"line\": 69,\n                                  \"column\": 31\n                                },\n                                \"identifierName\": \"_hierarchy\"\n                              },\n                              \"name\": \"_hierarchy\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1749,\n                      \"end\": 1765,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 70,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 70,\n                          \"column\": 18\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1753,\n                          \"end\": 1764,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 70,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 70,\n                              \"column\": 17\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1753,\n                            \"end\": 1757,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 70,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 70,\n                                \"column\": 10\n                              },\n                              \"identifierName\": \"sort\"\n                            },\n                            \"name\": \"sort\"\n                          },\n                          \"init\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 1763,\n                            \"end\": 1764,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 70,\n                                \"column\": 16\n                              },\n                              \"end\": {\n                                \"line\": 70,\n                                \"column\": 17\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 1769,\n                      \"end\": 5068,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 72,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 143,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"UnaryExpression\",\n                        \"start\": 1772,\n                        \"end\": 1780,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 72,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 72,\n                            \"column\": 13\n                          }\n                        },\n                        \"operator\": \"!\",\n                        \"prefix\": true,\n                        \"argument\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1773,\n                          \"end\": 1780,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 72,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 72,\n                              \"column\": 13\n                            },\n                            \"identifierName\": \"current\"\n                          },\n                          \"name\": \"current\"\n                        },\n                        \"extra\": {\n                          \"parenthesizedArgument\": false\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 1782,\n                        \"end\": 1814,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 72,\n                            \"column\": 15\n                          },\n                          \"end\": {\n                            \"line\": 74,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 1787,\n                            \"end\": 1810,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 73,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 73,\n                                \"column\": 26\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 1787,\n                              \"end\": 1809,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 73,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 73,\n                                  \"column\": 25\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1787,\n                                \"end\": 1802,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 73,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 73,\n                                    \"column\": 18\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 1787,\n                                  \"end\": 1791,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 73,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 73,\n                                      \"column\": 7\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1792,\n                                  \"end\": 1802,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 73,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 73,\n                                      \"column\": 18\n                                    },\n                                    \"identifierName\": \"_hierarchy\"\n                                  },\n                                  \"name\": \"_hierarchy\"\n                                },\n                                \"computed\": false\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1805,\n                                \"end\": 1809,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 73,\n                                    \"column\": 21\n                                  },\n                                  \"end\": {\n                                    \"line\": 73,\n                                    \"column\": 25\n                                  },\n                                  \"identifierName\": \"body\"\n                                },\n                                \"name\": \"body\"\n                              }\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 1822,\n                        \"end\": 5068,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 75,\n                            \"column\": 7\n                          },\n                          \"end\": {\n                            \"line\": 143,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"WhileStatement\",\n                            \"start\": 1827,\n                            \"end\": 5064,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 76,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 142,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"BooleanLiteral\",\n                              \"start\": 1833,\n                              \"end\": 1837,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 76,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 76,\n                                  \"column\": 13\n                                }\n                              },\n                              \"value\": true\n                            },\n                            \"body\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 1839,\n                              \"end\": 5064,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 76,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 142,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"IfStatement\",\n                                  \"start\": 1859,\n                                  \"end\": 5059,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 78,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 141,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 1862,\n                                    \"end\": 1881,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 78,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 78,\n                                        \"column\": 26\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1862,\n                                      \"end\": 1869,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 78,\n                                          \"column\": 7\n                                        },\n                                        \"end\": {\n                                          \"line\": 78,\n                                          \"column\": 14\n                                        },\n                                        \"identifierName\": \"current\"\n                                      },\n                                      \"name\": \"current\",\n                                      \"leadingComments\": null\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1870,\n                                      \"end\": 1881,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 78,\n                                          \"column\": 15\n                                        },\n                                        \"end\": {\n                                          \"line\": 78,\n                                          \"column\": 26\n                                        },\n                                        \"identifierName\": \"_bvh_branch\"\n                                      },\n                                      \"name\": \"_bvh_branch\"\n                                    },\n                                    \"computed\": false,\n                                    \"leadingComments\": null\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 1883,\n                                    \"end\": 3970,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 78,\n                                        \"column\": 28\n                                      },\n                                      \"end\": {\n                                        \"line\": 111,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 1890,\n                                        \"end\": 1932,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 79,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 79,\n                                            \"column\": 47\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 1896,\n                                            \"end\": 1931,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 79,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 79,\n                                                \"column\": 46\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 1896,\n                                              \"end\": 1900,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 79,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 79,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"left\"\n                                              },\n                                              \"name\": \"left\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 1914,\n                                              \"end\": 1931,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 79,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 79,\n                                                  \"column\": 46\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 1914,\n                                                \"end\": 1921,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 79,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 79,\n                                                    \"column\": 36\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 1922,\n                                                \"end\": 1931,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 79,\n                                                    \"column\": 37\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 79,\n                                                    \"column\": 46\n                                                  },\n                                                  \"identifierName\": \"_bvh_left\"\n                                                },\n                                                \"name\": \"_bvh_left\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 1938,\n                                        \"end\": 1978,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 80,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 80,\n                                            \"column\": 45\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 1944,\n                                            \"end\": 1977,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 80,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 80,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 1944,\n                                              \"end\": 1954,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 80,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 80,\n                                                  \"column\": 21\n                                                },\n                                                \"identifierName\": \"left_min_y\"\n                                              },\n                                              \"name\": \"left_min_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 1962,\n                                              \"end\": 1977,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 80,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 80,\n                                                  \"column\": 44\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 1962,\n                                                \"end\": 1966,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 80,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 80,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"left\"\n                                                },\n                                                \"name\": \"left\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 1967,\n                                                \"end\": 1977,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 80,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 80,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"_bvh_min_y\"\n                                                },\n                                                \"name\": \"_bvh_min_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 1984,\n                                        \"end\": 2024,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 81,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 81,\n                                            \"column\": 45\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 1990,\n                                            \"end\": 2023,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 81,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 81,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 1990,\n                                              \"end\": 2000,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 81,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 81,\n                                                  \"column\": 21\n                                                },\n                                                \"identifierName\": \"left_max_x\"\n                                              },\n                                              \"name\": \"left_max_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 2008,\n                                              \"end\": 2023,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 81,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 81,\n                                                  \"column\": 44\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2008,\n                                                \"end\": 2012,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 81,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 81,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"left\"\n                                                },\n                                                \"name\": \"left\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2013,\n                                                \"end\": 2023,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 81,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 81,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"_bvh_max_x\"\n                                                },\n                                                \"name\": \"_bvh_max_x\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2030,\n                                        \"end\": 2070,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 82,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 82,\n                                            \"column\": 45\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2036,\n                                            \"end\": 2069,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 82,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 82,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2036,\n                                              \"end\": 2046,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 82,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 82,\n                                                  \"column\": 21\n                                                },\n                                                \"identifierName\": \"left_max_y\"\n                                              },\n                                              \"name\": \"left_max_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 2054,\n                                              \"end\": 2069,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 82,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 82,\n                                                  \"column\": 44\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2054,\n                                                \"end\": 2058,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 82,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 82,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"left\"\n                                                },\n                                                \"name\": \"left\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2059,\n                                                \"end\": 2069,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 82,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 82,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"_bvh_max_y\"\n                                                },\n                                                \"name\": \"_bvh_max_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2076,\n                                        \"end\": 2160,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 83,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 83,\n                                            \"column\": 89\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2082,\n                                            \"end\": 2159,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 83,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 83,\n                                                \"column\": 88\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2082,\n                                              \"end\": 2096,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 83,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 83,\n                                                  \"column\": 25\n                                                },\n                                                \"identifierName\": \"left_new_min_x\"\n                                              },\n                                              \"name\": \"left_new_min_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 2100,\n                                              \"end\": 2159,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 83,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 83,\n                                                  \"column\": 88\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2100,\n                                                \"end\": 2128,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 83,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 83,\n                                                    \"column\": 57\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2100,\n                                                  \"end\": 2110,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 83,\n                                                      \"column\": 29\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 83,\n                                                      \"column\": 39\n                                                    },\n                                                    \"identifierName\": \"body_min_x\"\n                                                  },\n                                                  \"name\": \"body_min_x\"\n                                                },\n                                                \"operator\": \"<\",\n                                                \"right\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 2113,\n                                                  \"end\": 2128,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 83,\n                                                      \"column\": 42\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 83,\n                                                      \"column\": 57\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 2113,\n                                                    \"end\": 2117,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 83,\n                                                        \"column\": 42\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 83,\n                                                        \"column\": 46\n                                                      },\n                                                      \"identifierName\": \"left\"\n                                                    },\n                                                    \"name\": \"left\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 2118,\n                                                    \"end\": 2128,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 83,\n                                                        \"column\": 47\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 83,\n                                                        \"column\": 57\n                                                      },\n                                                      \"identifierName\": \"_bvh_min_x\"\n                                                    },\n                                                    \"name\": \"_bvh_min_x\"\n                                                  },\n                                                  \"computed\": false\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2131,\n                                                \"end\": 2141,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 83,\n                                                    \"column\": 60\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 83,\n                                                    \"column\": 70\n                                                  },\n                                                  \"identifierName\": \"body_min_x\"\n                                                },\n                                                \"name\": \"body_min_x\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"MemberExpression\",\n                                                \"start\": 2144,\n                                                \"end\": 2159,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 83,\n                                                    \"column\": 73\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 83,\n                                                    \"column\": 88\n                                                  }\n                                                },\n                                                \"object\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2144,\n                                                  \"end\": 2148,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 83,\n                                                      \"column\": 73\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 83,\n                                                      \"column\": 77\n                                                    },\n                                                    \"identifierName\": \"left\"\n                                                  },\n                                                  \"name\": \"left\"\n                                                },\n                                                \"property\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2149,\n                                                  \"end\": 2159,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 83,\n                                                      \"column\": 78\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 83,\n                                                      \"column\": 88\n                                                    },\n                                                    \"identifierName\": \"_bvh_min_x\"\n                                                  },\n                                                  \"name\": \"_bvh_min_x\"\n                                                },\n                                                \"computed\": false\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2166,\n                                        \"end\": 2240,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 84,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 84,\n                                            \"column\": 79\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2172,\n                                            \"end\": 2239,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 84,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 84,\n                                                \"column\": 78\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2172,\n                                              \"end\": 2186,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 84,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 84,\n                                                  \"column\": 25\n                                                },\n                                                \"identifierName\": \"left_new_min_y\"\n                                              },\n                                              \"name\": \"left_new_min_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 2190,\n                                              \"end\": 2239,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 84,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 84,\n                                                  \"column\": 78\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2190,\n                                                \"end\": 2213,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 84,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 84,\n                                                    \"column\": 52\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2190,\n                                                  \"end\": 2200,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 84,\n                                                      \"column\": 29\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 84,\n                                                      \"column\": 39\n                                                    },\n                                                    \"identifierName\": \"body_min_y\"\n                                                  },\n                                                  \"name\": \"body_min_y\"\n                                                },\n                                                \"operator\": \"<\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2203,\n                                                  \"end\": 2213,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 84,\n                                                      \"column\": 42\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 84,\n                                                      \"column\": 52\n                                                    },\n                                                    \"identifierName\": \"left_min_y\"\n                                                  },\n                                                  \"name\": \"left_min_y\"\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2216,\n                                                \"end\": 2226,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 84,\n                                                    \"column\": 55\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 84,\n                                                    \"column\": 65\n                                                  },\n                                                  \"identifierName\": \"body_min_y\"\n                                                },\n                                                \"name\": \"body_min_y\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2229,\n                                                \"end\": 2239,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 84,\n                                                    \"column\": 68\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 84,\n                                                    \"column\": 78\n                                                  },\n                                                  \"identifierName\": \"left_min_y\"\n                                                },\n                                                \"name\": \"left_min_y\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2246,\n                                        \"end\": 2320,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 85,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 85,\n                                            \"column\": 79\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2252,\n                                            \"end\": 2319,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 85,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 85,\n                                                \"column\": 78\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2252,\n                                              \"end\": 2266,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 85,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 85,\n                                                  \"column\": 25\n                                                },\n                                                \"identifierName\": \"left_new_max_x\"\n                                              },\n                                              \"name\": \"left_new_max_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 2270,\n                                              \"end\": 2319,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 85,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 85,\n                                                  \"column\": 78\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2270,\n                                                \"end\": 2293,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 85,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 85,\n                                                    \"column\": 52\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2270,\n                                                  \"end\": 2280,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 85,\n                                                      \"column\": 29\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 85,\n                                                      \"column\": 39\n                                                    },\n                                                    \"identifierName\": \"body_max_x\"\n                                                  },\n                                                  \"name\": \"body_max_x\"\n                                                },\n                                                \"operator\": \">\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2283,\n                                                  \"end\": 2293,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 85,\n                                                      \"column\": 42\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 85,\n                                                      \"column\": 52\n                                                    },\n                                                    \"identifierName\": \"left_max_x\"\n                                                  },\n                                                  \"name\": \"left_max_x\"\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2296,\n                                                \"end\": 2306,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 85,\n                                                    \"column\": 55\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 85,\n                                                    \"column\": 65\n                                                  },\n                                                  \"identifierName\": \"body_max_x\"\n                                                },\n                                                \"name\": \"body_max_x\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2309,\n                                                \"end\": 2319,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 85,\n                                                    \"column\": 68\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 85,\n                                                    \"column\": 78\n                                                  },\n                                                  \"identifierName\": \"left_max_x\"\n                                                },\n                                                \"name\": \"left_max_x\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2326,\n                                        \"end\": 2400,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 86,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 86,\n                                            \"column\": 79\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2332,\n                                            \"end\": 2399,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 86,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 86,\n                                                \"column\": 78\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2332,\n                                              \"end\": 2346,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 86,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 86,\n                                                  \"column\": 25\n                                                },\n                                                \"identifierName\": \"left_new_max_y\"\n                                              },\n                                              \"name\": \"left_new_max_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 2350,\n                                              \"end\": 2399,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 86,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 86,\n                                                  \"column\": 78\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2350,\n                                                \"end\": 2373,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 86,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 86,\n                                                    \"column\": 52\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2350,\n                                                  \"end\": 2360,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 86,\n                                                      \"column\": 29\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 86,\n                                                      \"column\": 39\n                                                    },\n                                                    \"identifierName\": \"body_max_y\"\n                                                  },\n                                                  \"name\": \"body_max_y\"\n                                                },\n                                                \"operator\": \">\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2363,\n                                                  \"end\": 2373,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 86,\n                                                      \"column\": 42\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 86,\n                                                      \"column\": 52\n                                                    },\n                                                    \"identifierName\": \"left_max_y\"\n                                                  },\n                                                  \"name\": \"left_max_y\"\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2376,\n                                                \"end\": 2386,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 86,\n                                                    \"column\": 55\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 86,\n                                                    \"column\": 65\n                                                  },\n                                                  \"identifierName\": \"body_max_y\"\n                                                },\n                                                \"name\": \"body_max_y\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2389,\n                                                \"end\": 2399,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 86,\n                                                    \"column\": 68\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 86,\n                                                    \"column\": 78\n                                                  },\n                                                  \"identifierName\": \"left_max_y\"\n                                                },\n                                                \"name\": \"left_max_y\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2406,\n                                        \"end\": 2489,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 87,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 87,\n                                            \"column\": 88\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2412,\n                                            \"end\": 2488,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 87,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 87,\n                                                \"column\": 87\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2412,\n                                              \"end\": 2423,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 87,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 87,\n                                                  \"column\": 22\n                                                },\n                                                \"identifierName\": \"left_volume\"\n                                              },\n                                              \"name\": \"left_volume\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 2430,\n                                              \"end\": 2488,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 87,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 87,\n                                                  \"column\": 87\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2431,\n                                                \"end\": 2459,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 87,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 87,\n                                                    \"column\": 58\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2431,\n                                                  \"end\": 2441,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 87,\n                                                      \"column\": 30\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 87,\n                                                      \"column\": 40\n                                                    },\n                                                    \"identifierName\": \"left_max_x\"\n                                                  },\n                                                  \"name\": \"left_max_x\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 2444,\n                                                  \"end\": 2459,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 87,\n                                                      \"column\": 43\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 87,\n                                                      \"column\": 58\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 2444,\n                                                    \"end\": 2448,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 87,\n                                                        \"column\": 43\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 87,\n                                                        \"column\": 47\n                                                      },\n                                                      \"identifierName\": \"left\"\n                                                    },\n                                                    \"name\": \"left\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 2449,\n                                                    \"end\": 2459,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 87,\n                                                        \"column\": 48\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 87,\n                                                        \"column\": 58\n                                                      },\n                                                      \"identifierName\": \"_bvh_min_x\"\n                                                    },\n                                                    \"name\": \"_bvh_min_x\"\n                                                  },\n                                                  \"computed\": false\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 2430\n                                                }\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2464,\n                                                \"end\": 2487,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 87,\n                                                    \"column\": 63\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 87,\n                                                    \"column\": 86\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2464,\n                                                  \"end\": 2474,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 87,\n                                                      \"column\": 63\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 87,\n                                                      \"column\": 73\n                                                    },\n                                                    \"identifierName\": \"left_max_y\"\n                                                  },\n                                                  \"name\": \"left_max_y\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2477,\n                                                  \"end\": 2487,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 87,\n                                                      \"column\": 76\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 87,\n                                                      \"column\": 86\n                                                    },\n                                                    \"identifierName\": \"left_min_y\"\n                                                  },\n                                                  \"name\": \"left_min_y\"\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 2463\n                                                }\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2495,\n                                        \"end\": 2589,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 88,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 88,\n                                            \"column\": 99\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2501,\n                                            \"end\": 2588,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 88,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 88,\n                                                \"column\": 98\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2501,\n                                              \"end\": 2516,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 88,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 88,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"left_new_volume\"\n                                              },\n                                              \"name\": \"left_new_volume\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 2519,\n                                              \"end\": 2588,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 88,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 88,\n                                                  \"column\": 98\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2520,\n                                                \"end\": 2551,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 88,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 88,\n                                                    \"column\": 61\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2520,\n                                                  \"end\": 2534,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 88,\n                                                      \"column\": 30\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 88,\n                                                      \"column\": 44\n                                                    },\n                                                    \"identifierName\": \"left_new_max_x\"\n                                                  },\n                                                  \"name\": \"left_new_max_x\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2537,\n                                                  \"end\": 2551,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 88,\n                                                      \"column\": 47\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 88,\n                                                      \"column\": 61\n                                                    },\n                                                    \"identifierName\": \"left_new_min_x\"\n                                                  },\n                                                  \"name\": \"left_new_min_x\"\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 2519\n                                                }\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2556,\n                                                \"end\": 2587,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 88,\n                                                    \"column\": 66\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 88,\n                                                    \"column\": 97\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2556,\n                                                  \"end\": 2570,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 88,\n                                                      \"column\": 66\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 88,\n                                                      \"column\": 80\n                                                    },\n                                                    \"identifierName\": \"left_new_max_y\"\n                                                  },\n                                                  \"name\": \"left_new_max_y\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2573,\n                                                  \"end\": 2587,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 88,\n                                                      \"column\": 83\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 88,\n                                                      \"column\": 97\n                                                    },\n                                                    \"identifierName\": \"left_new_min_y\"\n                                                  },\n                                                  \"name\": \"left_new_min_y\"\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 2555\n                                                }\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2595,\n                                        \"end\": 2649,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 89,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 89,\n                                            \"column\": 59\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2601,\n                                            \"end\": 2648,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 89,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 89,\n                                                \"column\": 58\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2601,\n                                              \"end\": 2616,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 89,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 89,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"left_difference\"\n                                              },\n                                              \"name\": \"left_difference\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 2619,\n                                              \"end\": 2648,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 89,\n                                                  \"column\": 29\n                                                },\n                                                \"end\": {\n                                                  \"line\": 89,\n                                                  \"column\": 58\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2619,\n                                                \"end\": 2634,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 89,\n                                                    \"column\": 29\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 89,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"left_new_volume\"\n                                                },\n                                                \"name\": \"left_new_volume\"\n                                              },\n                                              \"operator\": \"-\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2637,\n                                                \"end\": 2648,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 89,\n                                                    \"column\": 47\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 89,\n                                                    \"column\": 58\n                                                  },\n                                                  \"identifierName\": \"left_volume\"\n                                                },\n                                                \"name\": \"left_volume\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2656,\n                                        \"end\": 2700,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 91,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 91,\n                                            \"column\": 49\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2662,\n                                            \"end\": 2699,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 91,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 91,\n                                                \"column\": 48\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2662,\n                                              \"end\": 2667,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 91,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 91,\n                                                  \"column\": 16\n                                                },\n                                                \"identifierName\": \"right\"\n                                              },\n                                              \"name\": \"right\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 2681,\n                                              \"end\": 2699,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 91,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 91,\n                                                  \"column\": 48\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2681,\n                                                \"end\": 2688,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 91,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 91,\n                                                    \"column\": 37\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2689,\n                                                \"end\": 2699,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 91,\n                                                    \"column\": 38\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 91,\n                                                    \"column\": 48\n                                                  },\n                                                  \"identifierName\": \"_bvh_right\"\n                                                },\n                                                \"name\": \"_bvh_right\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2706,\n                                        \"end\": 2748,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 92,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 92,\n                                            \"column\": 47\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2712,\n                                            \"end\": 2747,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 92,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 92,\n                                                \"column\": 46\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2712,\n                                              \"end\": 2723,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 92,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 92,\n                                                  \"column\": 22\n                                                },\n                                                \"identifierName\": \"right_min_x\"\n                                              },\n                                              \"name\": \"right_min_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 2731,\n                                              \"end\": 2747,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 92,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 92,\n                                                  \"column\": 46\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2731,\n                                                \"end\": 2736,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 92,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 92,\n                                                    \"column\": 35\n                                                  },\n                                                  \"identifierName\": \"right\"\n                                                },\n                                                \"name\": \"right\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2737,\n                                                \"end\": 2747,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 92,\n                                                    \"column\": 36\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 92,\n                                                    \"column\": 46\n                                                  },\n                                                  \"identifierName\": \"_bvh_min_x\"\n                                                },\n                                                \"name\": \"_bvh_min_x\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2754,\n                                        \"end\": 2796,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 93,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 93,\n                                            \"column\": 47\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2760,\n                                            \"end\": 2795,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 93,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 93,\n                                                \"column\": 46\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2760,\n                                              \"end\": 2771,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 93,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 93,\n                                                  \"column\": 22\n                                                },\n                                                \"identifierName\": \"right_min_y\"\n                                              },\n                                              \"name\": \"right_min_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 2779,\n                                              \"end\": 2795,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 93,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 93,\n                                                  \"column\": 46\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2779,\n                                                \"end\": 2784,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 93,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 93,\n                                                    \"column\": 35\n                                                  },\n                                                  \"identifierName\": \"right\"\n                                                },\n                                                \"name\": \"right\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2785,\n                                                \"end\": 2795,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 93,\n                                                    \"column\": 36\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 93,\n                                                    \"column\": 46\n                                                  },\n                                                  \"identifierName\": \"_bvh_min_y\"\n                                                },\n                                                \"name\": \"_bvh_min_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2802,\n                                        \"end\": 2844,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 94,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 94,\n                                            \"column\": 47\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2808,\n                                            \"end\": 2843,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 94,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 94,\n                                                \"column\": 46\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2808,\n                                              \"end\": 2819,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 94,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 94,\n                                                  \"column\": 22\n                                                },\n                                                \"identifierName\": \"right_max_x\"\n                                              },\n                                              \"name\": \"right_max_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 2827,\n                                              \"end\": 2843,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 94,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 94,\n                                                  \"column\": 46\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2827,\n                                                \"end\": 2832,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 94,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 94,\n                                                    \"column\": 35\n                                                  },\n                                                  \"identifierName\": \"right\"\n                                                },\n                                                \"name\": \"right\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2833,\n                                                \"end\": 2843,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 94,\n                                                    \"column\": 36\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 94,\n                                                    \"column\": 46\n                                                  },\n                                                  \"identifierName\": \"_bvh_max_x\"\n                                                },\n                                                \"name\": \"_bvh_max_x\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2850,\n                                        \"end\": 2892,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 95,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 95,\n                                            \"column\": 47\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2856,\n                                            \"end\": 2891,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 95,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 95,\n                                                \"column\": 46\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2856,\n                                              \"end\": 2867,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 95,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 95,\n                                                  \"column\": 22\n                                                },\n                                                \"identifierName\": \"right_max_y\"\n                                              },\n                                              \"name\": \"right_max_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 2875,\n                                              \"end\": 2891,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 95,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 95,\n                                                  \"column\": 46\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2875,\n                                                \"end\": 2880,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 95,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 95,\n                                                    \"column\": 35\n                                                  },\n                                                  \"identifierName\": \"right\"\n                                                },\n                                                \"name\": \"right\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2881,\n                                                \"end\": 2891,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 95,\n                                                    \"column\": 36\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 95,\n                                                    \"column\": 46\n                                                  },\n                                                  \"identifierName\": \"_bvh_max_y\"\n                                                },\n                                                \"name\": \"_bvh_max_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2898,\n                                        \"end\": 2975,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 96,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 96,\n                                            \"column\": 82\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2904,\n                                            \"end\": 2974,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 96,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 96,\n                                                \"column\": 81\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2904,\n                                              \"end\": 2919,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 96,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 96,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"right_new_min_x\"\n                                              },\n                                              \"name\": \"right_new_min_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 2923,\n                                              \"end\": 2974,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 96,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 96,\n                                                  \"column\": 81\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 2923,\n                                                \"end\": 2947,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 96,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 96,\n                                                    \"column\": 54\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2923,\n                                                  \"end\": 2933,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 96,\n                                                      \"column\": 30\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 96,\n                                                      \"column\": 40\n                                                    },\n                                                    \"identifierName\": \"body_min_x\"\n                                                  },\n                                                  \"name\": \"body_min_x\"\n                                                },\n                                                \"operator\": \"<\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 2936,\n                                                  \"end\": 2947,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 96,\n                                                      \"column\": 43\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 96,\n                                                      \"column\": 54\n                                                    },\n                                                    \"identifierName\": \"right_min_x\"\n                                                  },\n                                                  \"name\": \"right_min_x\"\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2950,\n                                                \"end\": 2960,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 96,\n                                                    \"column\": 57\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 96,\n                                                    \"column\": 67\n                                                  },\n                                                  \"identifierName\": \"body_min_x\"\n                                                },\n                                                \"name\": \"body_min_x\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 2963,\n                                                \"end\": 2974,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 96,\n                                                    \"column\": 70\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 96,\n                                                    \"column\": 81\n                                                  },\n                                                  \"identifierName\": \"right_min_x\"\n                                                },\n                                                \"name\": \"right_min_x\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 2981,\n                                        \"end\": 3058,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 97,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 97,\n                                            \"column\": 82\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 2987,\n                                            \"end\": 3057,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 97,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 97,\n                                                \"column\": 81\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 2987,\n                                              \"end\": 3002,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 97,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 97,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"right_new_min_y\"\n                                              },\n                                              \"name\": \"right_new_min_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 3006,\n                                              \"end\": 3057,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 97,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 97,\n                                                  \"column\": 81\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 3006,\n                                                \"end\": 3030,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 97,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 97,\n                                                    \"column\": 54\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3006,\n                                                  \"end\": 3016,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 97,\n                                                      \"column\": 30\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 97,\n                                                      \"column\": 40\n                                                    },\n                                                    \"identifierName\": \"body_min_y\"\n                                                  },\n                                                  \"name\": \"body_min_y\"\n                                                },\n                                                \"operator\": \"<\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3019,\n                                                  \"end\": 3030,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 97,\n                                                      \"column\": 43\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 97,\n                                                      \"column\": 54\n                                                    },\n                                                    \"identifierName\": \"right_min_y\"\n                                                  },\n                                                  \"name\": \"right_min_y\"\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3033,\n                                                \"end\": 3043,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 97,\n                                                    \"column\": 57\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 97,\n                                                    \"column\": 67\n                                                  },\n                                                  \"identifierName\": \"body_min_y\"\n                                                },\n                                                \"name\": \"body_min_y\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3046,\n                                                \"end\": 3057,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 97,\n                                                    \"column\": 70\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 97,\n                                                    \"column\": 81\n                                                  },\n                                                  \"identifierName\": \"right_min_y\"\n                                                },\n                                                \"name\": \"right_min_y\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 3064,\n                                        \"end\": 3141,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 98,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 98,\n                                            \"column\": 82\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 3070,\n                                            \"end\": 3140,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 98,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 98,\n                                                \"column\": 81\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3070,\n                                              \"end\": 3085,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 98,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 98,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"right_new_max_x\"\n                                              },\n                                              \"name\": \"right_new_max_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 3089,\n                                              \"end\": 3140,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 98,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 98,\n                                                  \"column\": 81\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 3089,\n                                                \"end\": 3113,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 98,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 98,\n                                                    \"column\": 54\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3089,\n                                                  \"end\": 3099,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 98,\n                                                      \"column\": 30\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 98,\n                                                      \"column\": 40\n                                                    },\n                                                    \"identifierName\": \"body_max_x\"\n                                                  },\n                                                  \"name\": \"body_max_x\"\n                                                },\n                                                \"operator\": \">\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3102,\n                                                  \"end\": 3113,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 98,\n                                                      \"column\": 43\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 98,\n                                                      \"column\": 54\n                                                    },\n                                                    \"identifierName\": \"right_max_x\"\n                                                  },\n                                                  \"name\": \"right_max_x\"\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3116,\n                                                \"end\": 3126,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 98,\n                                                    \"column\": 57\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 98,\n                                                    \"column\": 67\n                                                  },\n                                                  \"identifierName\": \"body_max_x\"\n                                                },\n                                                \"name\": \"body_max_x\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3129,\n                                                \"end\": 3140,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 98,\n                                                    \"column\": 70\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 98,\n                                                    \"column\": 81\n                                                  },\n                                                  \"identifierName\": \"right_max_x\"\n                                                },\n                                                \"name\": \"right_max_x\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 3147,\n                                        \"end\": 3224,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 99,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 99,\n                                            \"column\": 82\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 3153,\n                                            \"end\": 3223,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 99,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 99,\n                                                \"column\": 81\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3153,\n                                              \"end\": 3168,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 99,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 99,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"right_new_max_y\"\n                                              },\n                                              \"name\": \"right_new_max_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"ConditionalExpression\",\n                                              \"start\": 3172,\n                                              \"end\": 3223,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 99,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 99,\n                                                  \"column\": 81\n                                                }\n                                              },\n                                              \"test\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 3172,\n                                                \"end\": 3196,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 99,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 99,\n                                                    \"column\": 54\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3172,\n                                                  \"end\": 3182,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 99,\n                                                      \"column\": 30\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 99,\n                                                      \"column\": 40\n                                                    },\n                                                    \"identifierName\": \"body_max_y\"\n                                                  },\n                                                  \"name\": \"body_max_y\"\n                                                },\n                                                \"operator\": \">\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3185,\n                                                  \"end\": 3196,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 99,\n                                                      \"column\": 43\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 99,\n                                                      \"column\": 54\n                                                    },\n                                                    \"identifierName\": \"right_max_y\"\n                                                  },\n                                                  \"name\": \"right_max_y\"\n                                                }\n                                              },\n                                              \"consequent\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3199,\n                                                \"end\": 3209,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 99,\n                                                    \"column\": 57\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 99,\n                                                    \"column\": 67\n                                                  },\n                                                  \"identifierName\": \"body_max_y\"\n                                                },\n                                                \"name\": \"body_max_y\"\n                                              },\n                                              \"alternate\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3212,\n                                                \"end\": 3223,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 99,\n                                                    \"column\": 70\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 99,\n                                                    \"column\": 81\n                                                  },\n                                                  \"identifierName\": \"right_max_y\"\n                                                },\n                                                \"name\": \"right_max_y\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 3230,\n                                        \"end\": 3313,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 100,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 100,\n                                            \"column\": 88\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 3236,\n                                            \"end\": 3312,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 100,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 100,\n                                                \"column\": 87\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3236,\n                                              \"end\": 3248,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 100,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 100,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"right_volume\"\n                                              },\n                                              \"name\": \"right_volume\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3255,\n                                              \"end\": 3312,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 100,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 100,\n                                                  \"column\": 87\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 3256,\n                                                \"end\": 3281,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 100,\n                                                    \"column\": 31\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 100,\n                                                    \"column\": 56\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3256,\n                                                  \"end\": 3267,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 100,\n                                                      \"column\": 31\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 100,\n                                                      \"column\": 42\n                                                    },\n                                                    \"identifierName\": \"right_max_x\"\n                                                  },\n                                                  \"name\": \"right_max_x\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3270,\n                                                  \"end\": 3281,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 100,\n                                                      \"column\": 45\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 100,\n                                                      \"column\": 56\n                                                    },\n                                                    \"identifierName\": \"right_min_x\"\n                                                  },\n                                                  \"name\": \"right_min_x\"\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 3255\n                                                }\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 3286,\n                                                \"end\": 3311,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 100,\n                                                    \"column\": 61\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 100,\n                                                    \"column\": 86\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3286,\n                                                  \"end\": 3297,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 100,\n                                                      \"column\": 61\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 100,\n                                                      \"column\": 72\n                                                    },\n                                                    \"identifierName\": \"right_max_y\"\n                                                  },\n                                                  \"name\": \"right_max_y\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3300,\n                                                  \"end\": 3311,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 100,\n                                                      \"column\": 75\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 100,\n                                                      \"column\": 86\n                                                    },\n                                                    \"identifierName\": \"right_min_y\"\n                                                  },\n                                                  \"name\": \"right_min_y\"\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 3285\n                                                }\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 3319,\n                                        \"end\": 3418,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 101,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 101,\n                                            \"column\": 104\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 3325,\n                                            \"end\": 3417,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 101,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 101,\n                                                \"column\": 103\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3325,\n                                              \"end\": 3341,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 101,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 101,\n                                                  \"column\": 27\n                                                },\n                                                \"identifierName\": \"right_new_volume\"\n                                              },\n                                              \"name\": \"right_new_volume\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3344,\n                                              \"end\": 3417,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 101,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 101,\n                                                  \"column\": 103\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 3345,\n                                                \"end\": 3378,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 101,\n                                                    \"column\": 31\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 101,\n                                                    \"column\": 64\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3345,\n                                                  \"end\": 3360,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 101,\n                                                      \"column\": 31\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 101,\n                                                      \"column\": 46\n                                                    },\n                                                    \"identifierName\": \"right_new_max_x\"\n                                                  },\n                                                  \"name\": \"right_new_max_x\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3363,\n                                                  \"end\": 3378,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 101,\n                                                      \"column\": 49\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 101,\n                                                      \"column\": 64\n                                                    },\n                                                    \"identifierName\": \"right_new_min_x\"\n                                                  },\n                                                  \"name\": \"right_new_min_x\"\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 3344\n                                                }\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 3383,\n                                                \"end\": 3416,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 101,\n                                                    \"column\": 69\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 101,\n                                                    \"column\": 102\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3383,\n                                                  \"end\": 3398,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 101,\n                                                      \"column\": 69\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 101,\n                                                      \"column\": 84\n                                                    },\n                                                    \"identifierName\": \"right_new_max_y\"\n                                                  },\n                                                  \"name\": \"right_new_max_y\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 3401,\n                                                  \"end\": 3416,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 101,\n                                                      \"column\": 87\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 101,\n                                                      \"column\": 102\n                                                    },\n                                                    \"identifierName\": \"right_new_min_y\"\n                                                  },\n                                                  \"name\": \"right_new_min_y\"\n                                                },\n                                                \"extra\": {\n                                                  \"parenthesized\": true,\n                                                  \"parenStart\": 3382\n                                                }\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 3424,\n                                        \"end\": 3481,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 102,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 102,\n                                            \"column\": 62\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 3430,\n                                            \"end\": 3480,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 102,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 102,\n                                                \"column\": 61\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3430,\n                                              \"end\": 3446,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 102,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 102,\n                                                  \"column\": 27\n                                                },\n                                                \"identifierName\": \"right_difference\"\n                                              },\n                                              \"name\": \"right_difference\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3449,\n                                              \"end\": 3480,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 102,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 102,\n                                                  \"column\": 61\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3449,\n                                                \"end\": 3465,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 102,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 102,\n                                                    \"column\": 46\n                                                  },\n                                                  \"identifierName\": \"right_new_volume\"\n                                                },\n                                                \"name\": \"right_new_volume\"\n                                              },\n                                              \"operator\": \"-\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3468,\n                                                \"end\": 3480,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 102,\n                                                    \"column\": 49\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 102,\n                                                    \"column\": 61\n                                                  },\n                                                  \"identifierName\": \"right_volume\"\n                                                },\n                                                \"name\": \"right_volume\"\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 3488,\n                                        \"end\": 3516,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 104,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 104,\n                                            \"column\": 33\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 3488,\n                                          \"end\": 3515,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 104,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 104,\n                                              \"column\": 32\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 3488,\n                                            \"end\": 3505,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 104,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 104,\n                                                \"column\": 22\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3488,\n                                              \"end\": 3495,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 104,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 104,\n                                                  \"column\": 12\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3496,\n                                              \"end\": 3505,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 104,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 104,\n                                                  \"column\": 22\n                                                },\n                                                \"identifierName\": \"_bvh_sort\"\n                                              },\n                                              \"name\": \"_bvh_sort\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"UpdateExpression\",\n                                            \"start\": 3509,\n                                            \"end\": 3515,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 104,\n                                                \"column\": 26\n                                              },\n                                              \"end\": {\n                                                \"line\": 104,\n                                                \"column\": 32\n                                              }\n                                            },\n                                            \"operator\": \"++\",\n                                            \"prefix\": false,\n                                            \"argument\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3509,\n                                              \"end\": 3513,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 104,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 104,\n                                                  \"column\": 30\n                                                },\n                                                \"identifierName\": \"sort\"\n                                              },\n                                              \"name\": \"sort\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 3522,\n                                        \"end\": 3611,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 105,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 105,\n                                            \"column\": 94\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 3522,\n                                          \"end\": 3610,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 105,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 105,\n                                              \"column\": 93\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 3522,\n                                            \"end\": 3540,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 105,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 105,\n                                                \"column\": 23\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3522,\n                                              \"end\": 3529,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 105,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 105,\n                                                  \"column\": 12\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3530,\n                                              \"end\": 3540,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 105,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 105,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"_bvh_min_x\"\n                                              },\n                                              \"name\": \"_bvh_min_x\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 3543,\n                                            \"end\": 3610,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 105,\n                                                \"column\": 26\n                                              },\n                                              \"end\": {\n                                                \"line\": 105,\n                                                \"column\": 93\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3543,\n                                              \"end\": 3575,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 105,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 105,\n                                                  \"column\": 58\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3543,\n                                                \"end\": 3557,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 105,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 105,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"left_new_min_x\"\n                                                },\n                                                \"name\": \"left_new_min_x\"\n                                              },\n                                              \"operator\": \"<\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3560,\n                                                \"end\": 3575,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 105,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 105,\n                                                    \"column\": 58\n                                                  },\n                                                  \"identifierName\": \"right_new_min_x\"\n                                                },\n                                                \"name\": \"right_new_min_x\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3578,\n                                              \"end\": 3592,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 105,\n                                                  \"column\": 61\n                                                },\n                                                \"end\": {\n                                                  \"line\": 105,\n                                                  \"column\": 75\n                                                },\n                                                \"identifierName\": \"left_new_min_x\"\n                                              },\n                                              \"name\": \"left_new_min_x\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3595,\n                                              \"end\": 3610,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 105,\n                                                  \"column\": 78\n                                                },\n                                                \"end\": {\n                                                  \"line\": 105,\n                                                  \"column\": 93\n                                                },\n                                                \"identifierName\": \"right_new_min_x\"\n                                              },\n                                              \"name\": \"right_new_min_x\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 3617,\n                                        \"end\": 3706,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 106,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 106,\n                                            \"column\": 94\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 3617,\n                                          \"end\": 3705,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 106,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 106,\n                                              \"column\": 93\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 3617,\n                                            \"end\": 3635,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 106,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 106,\n                                                \"column\": 23\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3617,\n                                              \"end\": 3624,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 106,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 106,\n                                                  \"column\": 12\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3625,\n                                              \"end\": 3635,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 106,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 106,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"_bvh_min_y\"\n                                              },\n                                              \"name\": \"_bvh_min_y\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 3638,\n                                            \"end\": 3705,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 106,\n                                                \"column\": 26\n                                              },\n                                              \"end\": {\n                                                \"line\": 106,\n                                                \"column\": 93\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3638,\n                                              \"end\": 3670,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 106,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 106,\n                                                  \"column\": 58\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3638,\n                                                \"end\": 3652,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 106,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 106,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"left_new_min_y\"\n                                                },\n                                                \"name\": \"left_new_min_y\"\n                                              },\n                                              \"operator\": \"<\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3655,\n                                                \"end\": 3670,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 106,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 106,\n                                                    \"column\": 58\n                                                  },\n                                                  \"identifierName\": \"right_new_min_y\"\n                                                },\n                                                \"name\": \"right_new_min_y\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3673,\n                                              \"end\": 3687,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 106,\n                                                  \"column\": 61\n                                                },\n                                                \"end\": {\n                                                  \"line\": 106,\n                                                  \"column\": 75\n                                                },\n                                                \"identifierName\": \"left_new_min_y\"\n                                              },\n                                              \"name\": \"left_new_min_y\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3690,\n                                              \"end\": 3705,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 106,\n                                                  \"column\": 78\n                                                },\n                                                \"end\": {\n                                                  \"line\": 106,\n                                                  \"column\": 93\n                                                },\n                                                \"identifierName\": \"right_new_min_y\"\n                                              },\n                                              \"name\": \"right_new_min_y\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 3712,\n                                        \"end\": 3801,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 107,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 107,\n                                            \"column\": 94\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 3712,\n                                          \"end\": 3800,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 107,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 107,\n                                              \"column\": 93\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 3712,\n                                            \"end\": 3730,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 107,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 107,\n                                                \"column\": 23\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3712,\n                                              \"end\": 3719,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 107,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 107,\n                                                  \"column\": 12\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3720,\n                                              \"end\": 3730,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 107,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 107,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"_bvh_max_x\"\n                                              },\n                                              \"name\": \"_bvh_max_x\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 3733,\n                                            \"end\": 3800,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 107,\n                                                \"column\": 26\n                                              },\n                                              \"end\": {\n                                                \"line\": 107,\n                                                \"column\": 93\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3733,\n                                              \"end\": 3765,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 107,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 107,\n                                                  \"column\": 58\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3733,\n                                                \"end\": 3747,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 107,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 107,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"left_new_max_x\"\n                                                },\n                                                \"name\": \"left_new_max_x\"\n                                              },\n                                              \"operator\": \">\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3750,\n                                                \"end\": 3765,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 107,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 107,\n                                                    \"column\": 58\n                                                  },\n                                                  \"identifierName\": \"right_new_max_x\"\n                                                },\n                                                \"name\": \"right_new_max_x\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3768,\n                                              \"end\": 3782,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 107,\n                                                  \"column\": 61\n                                                },\n                                                \"end\": {\n                                                  \"line\": 107,\n                                                  \"column\": 75\n                                                },\n                                                \"identifierName\": \"left_new_max_x\"\n                                              },\n                                              \"name\": \"left_new_max_x\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3785,\n                                              \"end\": 3800,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 107,\n                                                  \"column\": 78\n                                                },\n                                                \"end\": {\n                                                  \"line\": 107,\n                                                  \"column\": 93\n                                                },\n                                                \"identifierName\": \"right_new_max_x\"\n                                              },\n                                              \"name\": \"right_new_max_x\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 3807,\n                                        \"end\": 3896,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 108,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 108,\n                                            \"column\": 94\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 3807,\n                                          \"end\": 3895,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 108,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 108,\n                                              \"column\": 93\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 3807,\n                                            \"end\": 3825,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 108,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 108,\n                                                \"column\": 23\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3807,\n                                              \"end\": 3814,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 108,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 108,\n                                                  \"column\": 12\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3815,\n                                              \"end\": 3825,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 108,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 108,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"_bvh_max_y\"\n                                              },\n                                              \"name\": \"_bvh_max_y\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 3828,\n                                            \"end\": 3895,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 108,\n                                                \"column\": 26\n                                              },\n                                              \"end\": {\n                                                \"line\": 108,\n                                                \"column\": 93\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3828,\n                                              \"end\": 3860,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 108,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 108,\n                                                  \"column\": 58\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3828,\n                                                \"end\": 3842,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 108,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 108,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"left_new_max_y\"\n                                                },\n                                                \"name\": \"left_new_max_y\"\n                                              },\n                                              \"operator\": \">\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3845,\n                                                \"end\": 3860,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 108,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 108,\n                                                    \"column\": 58\n                                                  },\n                                                  \"identifierName\": \"right_new_max_y\"\n                                                },\n                                                \"name\": \"right_new_max_y\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3863,\n                                              \"end\": 3877,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 108,\n                                                  \"column\": 61\n                                                },\n                                                \"end\": {\n                                                  \"line\": 108,\n                                                  \"column\": 75\n                                                },\n                                                \"identifierName\": \"left_new_max_y\"\n                                              },\n                                              \"name\": \"left_new_max_y\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3880,\n                                              \"end\": 3895,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 108,\n                                                  \"column\": 78\n                                                },\n                                                \"end\": {\n                                                  \"line\": 108,\n                                                  \"column\": 93\n                                                },\n                                                \"identifierName\": \"right_new_max_y\"\n                                              },\n                                              \"name\": \"right_new_max_y\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 3903,\n                                        \"end\": 3964,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 110,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 110,\n                                            \"column\": 66\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 3903,\n                                          \"end\": 3963,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 110,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 110,\n                                              \"column\": 65\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 3903,\n                                            \"end\": 3910,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 110,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 110,\n                                                \"column\": 12\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 3913,\n                                            \"end\": 3963,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 110,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 110,\n                                                \"column\": 65\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 3913,\n                                              \"end\": 3948,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 110,\n                                                  \"column\": 15\n                                                },\n                                                \"end\": {\n                                                  \"line\": 110,\n                                                  \"column\": 50\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3913,\n                                                \"end\": 3928,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 110,\n                                                    \"column\": 15\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 110,\n                                                    \"column\": 30\n                                                  },\n                                                  \"identifierName\": \"left_difference\"\n                                                },\n                                                \"name\": \"left_difference\"\n                                              },\n                                              \"operator\": \"<=\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 3932,\n                                                \"end\": 3948,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 110,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 110,\n                                                    \"column\": 50\n                                                  },\n                                                  \"identifierName\": \"right_difference\"\n                                                },\n                                                \"name\": \"right_difference\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3951,\n                                              \"end\": 3955,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 110,\n                                                  \"column\": 53\n                                                },\n                                                \"end\": {\n                                                  \"line\": 110,\n                                                  \"column\": 57\n                                                },\n                                                \"identifierName\": \"left\"\n                                              },\n                                              \"name\": \"left\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 3958,\n                                              \"end\": 3963,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 110,\n                                                  \"column\": 60\n                                                },\n                                                \"end\": {\n                                                  \"line\": 110,\n                                                  \"column\": 65\n                                                },\n                                                \"identifierName\": \"right\"\n                                              },\n                                              \"name\": \"right\"\n                                            }\n                                          }\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": [],\n                                    \"trailingComments\": [\n                                      {\n                                        \"type\": \"CommentLine\",\n                                        \"value\": \" Leaf\",\n                                        \"start\": 3975,\n                                        \"end\": 3982,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 112,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 112,\n                                            \"column\": 11\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 3992,\n                                    \"end\": 5059,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 113,\n                                        \"column\": 9\n                                      },\n                                      \"end\": {\n                                        \"line\": 141,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 3999,\n                                        \"end\": 4040,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 114,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 114,\n                                            \"column\": 46\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 4005,\n                                            \"end\": 4039,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 114,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 114,\n                                                \"column\": 45\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4005,\n                                              \"end\": 4016,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 114,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 114,\n                                                  \"column\": 22\n                                                },\n                                                \"identifierName\": \"grandparent\"\n                                              },\n                                              \"name\": \"grandparent\",\n                                              \"leadingComments\": null\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 4020,\n                                              \"end\": 4039,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 114,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 114,\n                                                  \"column\": 45\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4020,\n                                                \"end\": 4027,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 114,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 114,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4028,\n                                                \"end\": 4039,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 114,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 114,\n                                                    \"column\": 45\n                                                  },\n                                                  \"identifierName\": \"_bvh_parent\"\n                                                },\n                                                \"name\": \"_bvh_parent\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"leadingComments\": null\n                                          }\n                                        ],\n                                        \"kind\": \"const\",\n                                        \"leadingComments\": null\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 4046,\n                                        \"end\": 4086,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 115,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 115,\n                                            \"column\": 45\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 4052,\n                                            \"end\": 4085,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 115,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 115,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4052,\n                                              \"end\": 4064,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 115,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 115,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"parent_min_x\"\n                                              },\n                                              \"name\": \"parent_min_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 4067,\n                                              \"end\": 4085,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 115,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 115,\n                                                  \"column\": 44\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4067,\n                                                \"end\": 4074,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 115,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 115,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4075,\n                                                \"end\": 4085,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 115,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 115,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"_bvh_min_x\"\n                                                },\n                                                \"name\": \"_bvh_min_x\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 4092,\n                                        \"end\": 4132,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 116,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 116,\n                                            \"column\": 45\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 4098,\n                                            \"end\": 4131,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 116,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 116,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4098,\n                                              \"end\": 4110,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 116,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 116,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"parent_min_y\"\n                                              },\n                                              \"name\": \"parent_min_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 4113,\n                                              \"end\": 4131,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 116,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 116,\n                                                  \"column\": 44\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4113,\n                                                \"end\": 4120,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 116,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 116,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4121,\n                                                \"end\": 4131,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 116,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 116,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"_bvh_min_y\"\n                                                },\n                                                \"name\": \"_bvh_min_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 4138,\n                                        \"end\": 4178,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 117,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 117,\n                                            \"column\": 45\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 4144,\n                                            \"end\": 4177,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 117,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 117,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4144,\n                                              \"end\": 4156,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 117,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 117,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"parent_max_x\"\n                                              },\n                                              \"name\": \"parent_max_x\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 4159,\n                                              \"end\": 4177,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 117,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 117,\n                                                  \"column\": 44\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4159,\n                                                \"end\": 4166,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 117,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 117,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4167,\n                                                \"end\": 4177,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 117,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 117,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"_bvh_max_x\"\n                                                },\n                                                \"name\": \"_bvh_max_x\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 4184,\n                                        \"end\": 4224,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 118,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 118,\n                                            \"column\": 45\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 4190,\n                                            \"end\": 4223,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 118,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 118,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4190,\n                                              \"end\": 4202,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 118,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 118,\n                                                  \"column\": 23\n                                                },\n                                                \"identifierName\": \"parent_max_y\"\n                                              },\n                                              \"name\": \"parent_max_y\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 4205,\n                                              \"end\": 4223,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 118,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 118,\n                                                  \"column\": 44\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4205,\n                                                \"end\": 4212,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 118,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 118,\n                                                    \"column\": 33\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4213,\n                                                \"end\": 4223,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 118,\n                                                    \"column\": 34\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 118,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"_bvh_max_y\"\n                                                },\n                                                \"name\": \"_bvh_max_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"VariableDeclaration\",\n                                        \"start\": 4230,\n                                        \"end\": 4314,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 119,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 119,\n                                            \"column\": 89\n                                          }\n                                        },\n                                        \"declarations\": [\n                                          {\n                                            \"type\": \"VariableDeclarator\",\n                                            \"start\": 4236,\n                                            \"end\": 4313,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 119,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 119,\n                                                \"column\": 88\n                                              }\n                                            },\n                                            \"id\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4236,\n                                              \"end\": 4246,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 119,\n                                                  \"column\": 11\n                                                },\n                                                \"end\": {\n                                                  \"line\": 119,\n                                                  \"column\": 21\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"init\": {\n                                              \"type\": \"AssignmentExpression\",\n                                              \"start\": 4251,\n                                              \"end\": 4313,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 119,\n                                                  \"column\": 26\n                                                },\n                                                \"end\": {\n                                                  \"line\": 119,\n                                                  \"column\": 88\n                                                }\n                                              },\n                                              \"operator\": \"=\",\n                                              \"left\": {\n                                                \"type\": \"MemberExpression\",\n                                                \"start\": 4251,\n                                                \"end\": 4270,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 119,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 119,\n                                                    \"column\": 45\n                                                  }\n                                                },\n                                                \"object\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 4251,\n                                                  \"end\": 4258,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 119,\n                                                      \"column\": 26\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 119,\n                                                      \"column\": 33\n                                                    },\n                                                    \"identifierName\": \"current\"\n                                                  },\n                                                  \"name\": \"current\"\n                                                },\n                                                \"property\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 4259,\n                                                  \"end\": 4270,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 119,\n                                                      \"column\": 34\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 119,\n                                                      \"column\": 45\n                                                    },\n                                                    \"identifierName\": \"_bvh_parent\"\n                                                  },\n                                                  \"name\": \"_bvh_parent\"\n                                                },\n                                                \"computed\": false\n                                              },\n                                              \"right\": {\n                                                \"type\": \"AssignmentExpression\",\n                                                \"start\": 4273,\n                                                \"end\": 4313,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 119,\n                                                    \"column\": 48\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 119,\n                                                    \"column\": 88\n                                                  }\n                                                },\n                                                \"operator\": \"=\",\n                                                \"left\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 4273,\n                                                  \"end\": 4289,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 119,\n                                                      \"column\": 48\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 119,\n                                                      \"column\": 64\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 4273,\n                                                    \"end\": 4277,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 119,\n                                                        \"column\": 48\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 119,\n                                                        \"column\": 52\n                                                      },\n                                                      \"identifierName\": \"body\"\n                                                    },\n                                                    \"name\": \"body\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 4278,\n                                                    \"end\": 4289,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 119,\n                                                        \"column\": 53\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 119,\n                                                        \"column\": 64\n                                                      },\n                                                      \"identifierName\": \"_bvh_parent\"\n                                                    },\n                                                    \"name\": \"_bvh_parent\"\n                                                  },\n                                                  \"computed\": false\n                                                },\n                                                \"right\": {\n                                                  \"type\": \"CallExpression\",\n                                                  \"start\": 4292,\n                                                  \"end\": 4313,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 119,\n                                                      \"column\": 67\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 119,\n                                                      \"column\": 88\n                                                    }\n                                                  },\n                                                  \"callee\": {\n                                                    \"type\": \"MemberExpression\",\n                                                    \"start\": 4292,\n                                                    \"end\": 4311,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 119,\n                                                        \"column\": 67\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 119,\n                                                        \"column\": 86\n                                                      }\n                                                    },\n                                                    \"object\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 4292,\n                                                      \"end\": 4301,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 119,\n                                                          \"column\": 67\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 119,\n                                                          \"column\": 76\n                                                        },\n                                                        \"identifierName\": \"BVHBranch\"\n                                                      },\n                                                      \"name\": \"BVHBranch\"\n                                                    },\n                                                    \"property\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 4302,\n                                                      \"end\": 4311,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 119,\n                                                          \"column\": 77\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 119,\n                                                          \"column\": 86\n                                                        },\n                                                        \"identifierName\": \"getBranch\"\n                                                      },\n                                                      \"name\": \"getBranch\"\n                                                    },\n                                                    \"computed\": false\n                                                  },\n                                                  \"arguments\": []\n                                                }\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"kind\": \"const\"\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4321,\n                                        \"end\": 4358,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 121,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 121,\n                                            \"column\": 42\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4321,\n                                          \"end\": 4357,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 121,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 121,\n                                              \"column\": 41\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4321,\n                                            \"end\": 4343,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 121,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 121,\n                                                \"column\": 27\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4321,\n                                              \"end\": 4331,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 121,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 121,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4332,\n                                              \"end\": 4343,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 121,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 121,\n                                                  \"column\": 27\n                                                },\n                                                \"identifierName\": \"_bvh_parent\"\n                                              },\n                                              \"name\": \"_bvh_parent\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4346,\n                                            \"end\": 4357,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 121,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 121,\n                                                \"column\": 41\n                                              },\n                                              \"identifierName\": \"grandparent\"\n                                            },\n                                            \"name\": \"grandparent\"\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4364,\n                                        \"end\": 4397,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 122,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 122,\n                                            \"column\": 38\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4364,\n                                          \"end\": 4396,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 122,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 122,\n                                              \"column\": 37\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4364,\n                                            \"end\": 4384,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 122,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 122,\n                                                \"column\": 25\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4364,\n                                              \"end\": 4374,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 122,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 122,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4375,\n                                              \"end\": 4384,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 122,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 122,\n                                                  \"column\": 25\n                                                },\n                                                \"identifierName\": \"_bvh_left\"\n                                              },\n                                              \"name\": \"_bvh_left\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4389,\n                                            \"end\": 4396,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 122,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 122,\n                                                \"column\": 37\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4403,\n                                        \"end\": 4433,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 123,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 123,\n                                            \"column\": 35\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4403,\n                                          \"end\": 4432,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 123,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 123,\n                                              \"column\": 34\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4403,\n                                            \"end\": 4424,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 123,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 123,\n                                                \"column\": 26\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4403,\n                                              \"end\": 4413,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 123,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 123,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4414,\n                                              \"end\": 4424,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 123,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 123,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"_bvh_right\"\n                                              },\n                                              \"name\": \"_bvh_right\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4428,\n                                            \"end\": 4432,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 123,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 123,\n                                                \"column\": 34\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4439,\n                                        \"end\": 4471,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 124,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 124,\n                                            \"column\": 37\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4439,\n                                          \"end\": 4470,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 124,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 124,\n                                              \"column\": 36\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4439,\n                                            \"end\": 4459,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 124,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 124,\n                                                \"column\": 25\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4439,\n                                              \"end\": 4449,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 124,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 124,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4450,\n                                              \"end\": 4459,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 124,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 124,\n                                                  \"column\": 25\n                                                },\n                                                \"identifierName\": \"_bvh_sort\"\n                                              },\n                                              \"name\": \"_bvh_sort\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"UpdateExpression\",\n                                            \"start\": 4464,\n                                            \"end\": 4470,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 124,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 124,\n                                                \"column\": 36\n                                              }\n                                            },\n                                            \"operator\": \"++\",\n                                            \"prefix\": false,\n                                            \"argument\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4464,\n                                              \"end\": 4468,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 124,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 124,\n                                                  \"column\": 34\n                                                },\n                                                \"identifierName\": \"sort\"\n                                              },\n                                              \"name\": \"sort\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4477,\n                                        \"end\": 4556,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 125,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 125,\n                                            \"column\": 84\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4477,\n                                          \"end\": 4555,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 125,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 125,\n                                              \"column\": 83\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4477,\n                                            \"end\": 4498,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 125,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 125,\n                                                \"column\": 26\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4477,\n                                              \"end\": 4487,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 125,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 125,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4488,\n                                              \"end\": 4498,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 125,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 125,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"_bvh_min_x\"\n                                              },\n                                              \"name\": \"_bvh_min_x\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 4502,\n                                            \"end\": 4555,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 125,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 125,\n                                                \"column\": 83\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 4502,\n                                              \"end\": 4527,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 125,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 125,\n                                                  \"column\": 55\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4502,\n                                                \"end\": 4512,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 125,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 125,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"body_min_x\"\n                                                },\n                                                \"name\": \"body_min_x\"\n                                              },\n                                              \"operator\": \"<\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4515,\n                                                \"end\": 4527,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 125,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 125,\n                                                    \"column\": 55\n                                                  },\n                                                  \"identifierName\": \"parent_min_x\"\n                                                },\n                                                \"name\": \"parent_min_x\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4530,\n                                              \"end\": 4540,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 125,\n                                                  \"column\": 58\n                                                },\n                                                \"end\": {\n                                                  \"line\": 125,\n                                                  \"column\": 68\n                                                },\n                                                \"identifierName\": \"body_min_x\"\n                                              },\n                                              \"name\": \"body_min_x\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4543,\n                                              \"end\": 4555,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 125,\n                                                  \"column\": 71\n                                                },\n                                                \"end\": {\n                                                  \"line\": 125,\n                                                  \"column\": 83\n                                                },\n                                                \"identifierName\": \"parent_min_x\"\n                                              },\n                                              \"name\": \"parent_min_x\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4562,\n                                        \"end\": 4641,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 126,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 126,\n                                            \"column\": 84\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4562,\n                                          \"end\": 4640,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 126,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 126,\n                                              \"column\": 83\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4562,\n                                            \"end\": 4583,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 126,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 126,\n                                                \"column\": 26\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4562,\n                                              \"end\": 4572,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 126,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 126,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4573,\n                                              \"end\": 4583,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 126,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 126,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"_bvh_min_y\"\n                                              },\n                                              \"name\": \"_bvh_min_y\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 4587,\n                                            \"end\": 4640,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 126,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 126,\n                                                \"column\": 83\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 4587,\n                                              \"end\": 4612,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 126,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 126,\n                                                  \"column\": 55\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4587,\n                                                \"end\": 4597,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 126,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 126,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"body_min_y\"\n                                                },\n                                                \"name\": \"body_min_y\"\n                                              },\n                                              \"operator\": \"<\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4600,\n                                                \"end\": 4612,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 126,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 126,\n                                                    \"column\": 55\n                                                  },\n                                                  \"identifierName\": \"parent_min_y\"\n                                                },\n                                                \"name\": \"parent_min_y\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4615,\n                                              \"end\": 4625,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 126,\n                                                  \"column\": 58\n                                                },\n                                                \"end\": {\n                                                  \"line\": 126,\n                                                  \"column\": 68\n                                                },\n                                                \"identifierName\": \"body_min_y\"\n                                              },\n                                              \"name\": \"body_min_y\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4628,\n                                              \"end\": 4640,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 126,\n                                                  \"column\": 71\n                                                },\n                                                \"end\": {\n                                                  \"line\": 126,\n                                                  \"column\": 83\n                                                },\n                                                \"identifierName\": \"parent_min_y\"\n                                              },\n                                              \"name\": \"parent_min_y\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4647,\n                                        \"end\": 4726,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 127,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 127,\n                                            \"column\": 84\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4647,\n                                          \"end\": 4725,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 127,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 127,\n                                              \"column\": 83\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4647,\n                                            \"end\": 4668,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 127,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 127,\n                                                \"column\": 26\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4647,\n                                              \"end\": 4657,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 127,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 127,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4658,\n                                              \"end\": 4668,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 127,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 127,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"_bvh_max_x\"\n                                              },\n                                              \"name\": \"_bvh_max_x\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 4672,\n                                            \"end\": 4725,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 127,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 127,\n                                                \"column\": 83\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 4672,\n                                              \"end\": 4697,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 127,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 127,\n                                                  \"column\": 55\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4672,\n                                                \"end\": 4682,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 127,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 127,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"body_max_x\"\n                                                },\n                                                \"name\": \"body_max_x\"\n                                              },\n                                              \"operator\": \">\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4685,\n                                                \"end\": 4697,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 127,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 127,\n                                                    \"column\": 55\n                                                  },\n                                                  \"identifierName\": \"parent_max_x\"\n                                                },\n                                                \"name\": \"parent_max_x\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4700,\n                                              \"end\": 4710,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 127,\n                                                  \"column\": 58\n                                                },\n                                                \"end\": {\n                                                  \"line\": 127,\n                                                  \"column\": 68\n                                                },\n                                                \"identifierName\": \"body_max_x\"\n                                              },\n                                              \"name\": \"body_max_x\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4713,\n                                              \"end\": 4725,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 127,\n                                                  \"column\": 71\n                                                },\n                                                \"end\": {\n                                                  \"line\": 127,\n                                                  \"column\": 83\n                                                },\n                                                \"identifierName\": \"parent_max_x\"\n                                              },\n                                              \"name\": \"parent_max_x\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4732,\n                                        \"end\": 4811,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 128,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 128,\n                                            \"column\": 84\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4732,\n                                          \"end\": 4810,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 128,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 128,\n                                              \"column\": 83\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 4732,\n                                            \"end\": 4753,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 128,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 128,\n                                                \"column\": 26\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4732,\n                                              \"end\": 4742,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 128,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 128,\n                                                  \"column\": 15\n                                                },\n                                                \"identifierName\": \"new_parent\"\n                                              },\n                                              \"name\": \"new_parent\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4743,\n                                              \"end\": 4753,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 128,\n                                                  \"column\": 16\n                                                },\n                                                \"end\": {\n                                                  \"line\": 128,\n                                                  \"column\": 26\n                                                },\n                                                \"identifierName\": \"_bvh_max_y\"\n                                              },\n                                              \"name\": \"_bvh_max_y\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 4757,\n                                            \"end\": 4810,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 128,\n                                                \"column\": 30\n                                              },\n                                              \"end\": {\n                                                \"line\": 128,\n                                                \"column\": 83\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 4757,\n                                              \"end\": 4782,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 128,\n                                                  \"column\": 30\n                                                },\n                                                \"end\": {\n                                                  \"line\": 128,\n                                                  \"column\": 55\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4757,\n                                                \"end\": 4767,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 128,\n                                                    \"column\": 30\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 128,\n                                                    \"column\": 40\n                                                  },\n                                                  \"identifierName\": \"body_max_y\"\n                                                },\n                                                \"name\": \"body_max_y\"\n                                              },\n                                              \"operator\": \">\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4770,\n                                                \"end\": 4782,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 128,\n                                                    \"column\": 43\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 128,\n                                                    \"column\": 55\n                                                  },\n                                                  \"identifierName\": \"parent_max_y\"\n                                                },\n                                                \"name\": \"parent_max_y\"\n                                              }\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4785,\n                                              \"end\": 4795,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 128,\n                                                  \"column\": 58\n                                                },\n                                                \"end\": {\n                                                  \"line\": 128,\n                                                  \"column\": 68\n                                                },\n                                                \"identifierName\": \"body_max_y\"\n                                              },\n                                              \"name\": \"body_max_y\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4798,\n                                              \"end\": 4810,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 128,\n                                                  \"column\": 71\n                                                },\n                                                \"end\": {\n                                                  \"line\": 128,\n                                                  \"column\": 83\n                                                },\n                                                \"identifierName\": \"parent_max_y\"\n                                              },\n                                              \"name\": \"parent_max_y\"\n                                            }\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"IfStatement\",\n                                        \"start\": 4818,\n                                        \"end\": 5040,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 130,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 138,\n                                            \"column\": 6\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"UnaryExpression\",\n                                          \"start\": 4821,\n                                          \"end\": 4833,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 130,\n                                              \"column\": 8\n                                            },\n                                            \"end\": {\n                                              \"line\": 130,\n                                              \"column\": 20\n                                            }\n                                          },\n                                          \"operator\": \"!\",\n                                          \"prefix\": true,\n                                          \"argument\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4822,\n                                            \"end\": 4833,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 130,\n                                                \"column\": 9\n                                              },\n                                              \"end\": {\n                                                \"line\": 130,\n                                                \"column\": 20\n                                              },\n                                              \"identifierName\": \"grandparent\"\n                                            },\n                                            \"name\": \"grandparent\"\n                                          },\n                                          \"extra\": {\n                                            \"parenthesizedArgument\": false\n                                          }\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"BlockStatement\",\n                                          \"start\": 4835,\n                                          \"end\": 4879,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 130,\n                                              \"column\": 22\n                                            },\n                                            \"end\": {\n                                              \"line\": 132,\n                                              \"column\": 6\n                                            }\n                                          },\n                                          \"body\": [\n                                            {\n                                              \"type\": \"ExpressionStatement\",\n                                              \"start\": 4843,\n                                              \"end\": 4872,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 131,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 131,\n                                                  \"column\": 35\n                                                }\n                                              },\n                                              \"expression\": {\n                                                \"type\": \"AssignmentExpression\",\n                                                \"start\": 4843,\n                                                \"end\": 4871,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 131,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 131,\n                                                    \"column\": 34\n                                                  }\n                                                },\n                                                \"operator\": \"=\",\n                                                \"left\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 4843,\n                                                  \"end\": 4858,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 131,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 131,\n                                                      \"column\": 21\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"ThisExpression\",\n                                                    \"start\": 4843,\n                                                    \"end\": 4847,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 131,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 131,\n                                                        \"column\": 10\n                                                      }\n                                                    }\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 4848,\n                                                    \"end\": 4858,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 131,\n                                                        \"column\": 11\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 131,\n                                                        \"column\": 21\n                                                      },\n                                                      \"identifierName\": \"_hierarchy\"\n                                                    },\n                                                    \"name\": \"_hierarchy\"\n                                                  },\n                                                  \"computed\": false\n                                                },\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 4861,\n                                                  \"end\": 4871,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 131,\n                                                      \"column\": 24\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 131,\n                                                      \"column\": 34\n                                                    },\n                                                    \"identifierName\": \"new_parent\"\n                                                  },\n                                                  \"name\": \"new_parent\"\n                                                }\n                                              }\n                                            }\n                                          ],\n                                          \"directives\": []\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"IfStatement\",\n                                          \"start\": 4890,\n                                          \"end\": 5040,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 133,\n                                              \"column\": 10\n                                            },\n                                            \"end\": {\n                                              \"line\": 138,\n                                              \"column\": 6\n                                            }\n                                          },\n                                          \"test\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 4893,\n                                            \"end\": 4926,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 133,\n                                                \"column\": 13\n                                              },\n                                              \"end\": {\n                                                \"line\": 133,\n                                                \"column\": 46\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 4893,\n                                              \"end\": 4914,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 133,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 133,\n                                                  \"column\": 34\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4893,\n                                                \"end\": 4904,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 133,\n                                                    \"column\": 13\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 133,\n                                                    \"column\": 24\n                                                  },\n                                                  \"identifierName\": \"grandparent\"\n                                                },\n                                                \"name\": \"grandparent\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 4905,\n                                                \"end\": 4914,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 133,\n                                                    \"column\": 25\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 133,\n                                                    \"column\": 34\n                                                  },\n                                                  \"identifierName\": \"_bvh_left\"\n                                                },\n                                                \"name\": \"_bvh_left\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"operator\": \"===\",\n                                            \"right\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4919,\n                                              \"end\": 4926,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 133,\n                                                  \"column\": 39\n                                                },\n                                                \"end\": {\n                                                  \"line\": 133,\n                                                  \"column\": 46\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            }\n                                          },\n                                          \"consequent\": {\n                                            \"type\": \"BlockStatement\",\n                                            \"start\": 4928,\n                                            \"end\": 4978,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 133,\n                                                \"column\": 48\n                                              },\n                                              \"end\": {\n                                                \"line\": 135,\n                                                \"column\": 6\n                                              }\n                                            },\n                                            \"body\": [\n                                              {\n                                                \"type\": \"ExpressionStatement\",\n                                                \"start\": 4936,\n                                                \"end\": 4971,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 134,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 134,\n                                                    \"column\": 41\n                                                  }\n                                                },\n                                                \"expression\": {\n                                                  \"type\": \"AssignmentExpression\",\n                                                  \"start\": 4936,\n                                                  \"end\": 4970,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 134,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 134,\n                                                      \"column\": 40\n                                                    }\n                                                  },\n                                                  \"operator\": \"=\",\n                                                  \"left\": {\n                                                    \"type\": \"MemberExpression\",\n                                                    \"start\": 4936,\n                                                    \"end\": 4957,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 134,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 134,\n                                                        \"column\": 27\n                                                      }\n                                                    },\n                                                    \"object\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 4936,\n                                                      \"end\": 4947,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 134,\n                                                          \"column\": 6\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 134,\n                                                          \"column\": 17\n                                                        },\n                                                        \"identifierName\": \"grandparent\"\n                                                      },\n                                                      \"name\": \"grandparent\"\n                                                    },\n                                                    \"property\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 4948,\n                                                      \"end\": 4957,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 134,\n                                                          \"column\": 18\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 134,\n                                                          \"column\": 27\n                                                        },\n                                                        \"identifierName\": \"_bvh_left\"\n                                                      },\n                                                      \"name\": \"_bvh_left\"\n                                                    },\n                                                    \"computed\": false\n                                                  },\n                                                  \"right\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 4960,\n                                                    \"end\": 4970,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 134,\n                                                        \"column\": 30\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 134,\n                                                        \"column\": 40\n                                                      },\n                                                      \"identifierName\": \"new_parent\"\n                                                    },\n                                                    \"name\": \"new_parent\"\n                                                  }\n                                                }\n                                              }\n                                            ],\n                                            \"directives\": []\n                                          },\n                                          \"alternate\": {\n                                            \"type\": \"BlockStatement\",\n                                            \"start\": 4989,\n                                            \"end\": 5040,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 136,\n                                                \"column\": 10\n                                              },\n                                              \"end\": {\n                                                \"line\": 138,\n                                                \"column\": 6\n                                              }\n                                            },\n                                            \"body\": [\n                                              {\n                                                \"type\": \"ExpressionStatement\",\n                                                \"start\": 4997,\n                                                \"end\": 5033,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 137,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 137,\n                                                    \"column\": 42\n                                                  }\n                                                },\n                                                \"expression\": {\n                                                  \"type\": \"AssignmentExpression\",\n                                                  \"start\": 4997,\n                                                  \"end\": 5032,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 137,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 137,\n                                                      \"column\": 41\n                                                    }\n                                                  },\n                                                  \"operator\": \"=\",\n                                                  \"left\": {\n                                                    \"type\": \"MemberExpression\",\n                                                    \"start\": 4997,\n                                                    \"end\": 5019,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 137,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 137,\n                                                        \"column\": 28\n                                                      }\n                                                    },\n                                                    \"object\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 4997,\n                                                      \"end\": 5008,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 137,\n                                                          \"column\": 6\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 137,\n                                                          \"column\": 17\n                                                        },\n                                                        \"identifierName\": \"grandparent\"\n                                                      },\n                                                      \"name\": \"grandparent\"\n                                                    },\n                                                    \"property\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 5009,\n                                                      \"end\": 5019,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 137,\n                                                          \"column\": 18\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 137,\n                                                          \"column\": 28\n                                                        },\n                                                        \"identifierName\": \"_bvh_right\"\n                                                      },\n                                                      \"name\": \"_bvh_right\"\n                                                    },\n                                                    \"computed\": false\n                                                  },\n                                                  \"right\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 5022,\n                                                    \"end\": 5032,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 137,\n                                                        \"column\": 31\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 137,\n                                                        \"column\": 41\n                                                      },\n                                                      \"identifierName\": \"new_parent\"\n                                                    },\n                                                    \"name\": \"new_parent\"\n                                                  }\n                                                }\n                                              }\n                                            ],\n                                            \"directives\": []\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"BreakStatement\",\n                                        \"start\": 5047,\n                                        \"end\": 5053,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 140,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 140,\n                                            \"column\": 11\n                                          }\n                                        },\n                                        \"label\": null\n                                      }\n                                    ],\n                                    \"directives\": [],\n                                    \"leadingComments\": [\n                                      {\n                                        \"type\": \"CommentLine\",\n                                        \"value\": \" Leaf\",\n                                        \"start\": 3975,\n                                        \"end\": 3982,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 112,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 112,\n                                            \"column\": 11\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"leadingComments\": [\n                                    {\n                                      \"type\": \"CommentLine\",\n                                      \"value\": \" Branch\",\n                                      \"start\": 1845,\n                                      \"end\": 1854,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 77,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 77,\n                                          \"column\": 13\n                                        }\n                                      }\n                                    }\n                                  ]\n                                }\n                              ],\n                              \"directives\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Inserts a body into the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to insert\\n\\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\\n\\t \",\n                    \"start\": 359,\n                    \"end\": 599,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 23,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 27,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Removes a body from the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to remove\\n\\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\\n\\t \",\n                    \"start\": 5074,\n                    \"end\": 5307,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 146,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 150,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 5309,\n                \"end\": 7015,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 151,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 216,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 5309,\n                  \"end\": 5315,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 151,\n                      \"column\": 7\n                    },\n                    \"identifierName\": \"remove\"\n                  },\n                  \"name\": \"remove\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 5316,\n                    \"end\": 5320,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 8\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 12\n                      },\n                      \"identifierName\": \"body\"\n                    },\n                    \"name\": \"body\"\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 5322,\n                    \"end\": 5338,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 151,\n                        \"column\": 14\n                      },\n                      \"end\": {\n                        \"line\": 151,\n                        \"column\": 30\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 5322,\n                      \"end\": 5330,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 151,\n                          \"column\": 14\n                        },\n                        \"end\": {\n                          \"line\": 151,\n                          \"column\": 22\n                        },\n                        \"identifierName\": \"updating\"\n                      },\n                      \"name\": \"updating\"\n                    },\n                    \"right\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 5333,\n                      \"end\": 5338,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 151,\n                          \"column\": 25\n                        },\n                        \"end\": {\n                          \"line\": 151,\n                          \"column\": 30\n                        }\n                      },\n                      \"value\": false\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 5340,\n                  \"end\": 7015,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 151,\n                      \"column\": 32\n                    },\n                    \"end\": {\n                      \"line\": 216,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 5344,\n                      \"end\": 5566,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 152,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 161,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"UnaryExpression\",\n                        \"start\": 5347,\n                        \"end\": 5356,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 152,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 152,\n                            \"column\": 14\n                          }\n                        },\n                        \"operator\": \"!\",\n                        \"prefix\": true,\n                        \"argument\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5348,\n                          \"end\": 5356,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 152,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 152,\n                              \"column\": 14\n                            },\n                            \"identifierName\": \"updating\"\n                          },\n                          \"name\": \"updating\"\n                        },\n                        \"extra\": {\n                          \"parenthesizedArgument\": false\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 5358,\n                        \"end\": 5566,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 152,\n                            \"column\": 16\n                          },\n                          \"end\": {\n                            \"line\": 161,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 5363,\n                            \"end\": 5385,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 153,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 153,\n                                \"column\": 25\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 5369,\n                                \"end\": 5384,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 153,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 153,\n                                    \"column\": 24\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5369,\n                                  \"end\": 5372,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 153,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 153,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"bvh\"\n                                  },\n                                  \"name\": \"bvh\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 5375,\n                                  \"end\": 5384,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 153,\n                                      \"column\": 15\n                                    },\n                                    \"end\": {\n                                      \"line\": 153,\n                                      \"column\": 24\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5375,\n                                    \"end\": 5379,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 153,\n                                        \"column\": 15\n                                      },\n                                      \"end\": {\n                                        \"line\": 153,\n                                        \"column\": 19\n                                      },\n                                      \"identifierName\": \"body\"\n                                    },\n                                    \"name\": \"body\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5380,\n                                    \"end\": 5384,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 153,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 153,\n                                        \"column\": 24\n                                      },\n                                      \"identifierName\": \"_bvh\"\n                                    },\n                                    \"name\": \"_bvh\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 5390,\n                            \"end\": 5485,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 155,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 157,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 5393,\n                              \"end\": 5412,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 155,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 155,\n                                  \"column\": 25\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5393,\n                                \"end\": 5396,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 155,\n                                    \"column\": 6\n                                  },\n                                  \"end\": {\n                                    \"line\": 155,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"bvh\"\n                                },\n                                \"name\": \"bvh\"\n                              },\n                              \"operator\": \"&&\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 5400,\n                                \"end\": 5412,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 155,\n                                    \"column\": 13\n                                  },\n                                  \"end\": {\n                                    \"line\": 155,\n                                    \"column\": 25\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5400,\n                                  \"end\": 5403,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 155,\n                                      \"column\": 13\n                                    },\n                                    \"end\": {\n                                      \"line\": 155,\n                                      \"column\": 16\n                                    },\n                                    \"identifierName\": \"bvh\"\n                                  },\n                                  \"name\": \"bvh\"\n                                },\n                                \"operator\": \"!==\",\n                                \"right\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 5408,\n                                  \"end\": 5412,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 155,\n                                      \"column\": 21\n                                    },\n                                    \"end\": {\n                                      \"line\": 155,\n                                      \"column\": 25\n                                    }\n                                  }\n                                }\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 5414,\n                              \"end\": 5485,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 155,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 157,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ThrowStatement\",\n                                  \"start\": 5420,\n                                  \"end\": 5480,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 156,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 156,\n                                      \"column\": 64\n                                    }\n                                  },\n                                  \"argument\": {\n                                    \"type\": \"NewExpression\",\n                                    \"start\": 5426,\n                                    \"end\": 5479,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 156,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 156,\n                                        \"column\": 63\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5430,\n                                      \"end\": 5435,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 156,\n                                          \"column\": 14\n                                        },\n                                        \"end\": {\n                                          \"line\": 156,\n                                          \"column\": 19\n                                        },\n                                        \"identifierName\": \"Error\"\n                                      },\n                                      \"name\": \"Error\"\n                                    },\n                                    \"arguments\": [\n                                      {\n                                        \"type\": \"StringLiteral\",\n                                        \"start\": 5436,\n                                        \"end\": 5478,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 156,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 156,\n                                            \"column\": 62\n                                          }\n                                        },\n                                        \"extra\": {\n                                          \"rawValue\": \"Body belongs to another collision system\",\n                                          \"raw\": \"'Body belongs to another collision system'\"\n                                        },\n                                        \"value\": \"Body belongs to another collision system\"\n                                      }\n                                    ]\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5490,\n                            \"end\": 5507,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 159,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 159,\n                                \"column\": 20\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 5490,\n                              \"end\": 5506,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 159,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 159,\n                                  \"column\": 19\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5490,\n                                \"end\": 5499,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 159,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 159,\n                                    \"column\": 12\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5490,\n                                  \"end\": 5494,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 159,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 159,\n                                      \"column\": 7\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5495,\n                                  \"end\": 5499,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 159,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 159,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"_bvh\"\n                                  },\n                                  \"name\": \"_bvh\"\n                                },\n                                \"computed\": false\n                              },\n                              \"right\": {\n                                \"type\": \"NullLiteral\",\n                                \"start\": 5502,\n                                \"end\": 5506,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 159,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 159,\n                                    \"column\": 19\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5511,\n                            \"end\": 5562,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 160,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 160,\n                                \"column\": 54\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 5511,\n                              \"end\": 5561,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 160,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 160,\n                                  \"column\": 53\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5511,\n                                \"end\": 5530,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 160,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 160,\n                                    \"column\": 22\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 5511,\n                                  \"end\": 5523,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 160,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 160,\n                                      \"column\": 15\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"ThisExpression\",\n                                    \"start\": 5511,\n                                    \"end\": 5515,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 160,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 160,\n                                        \"column\": 7\n                                      }\n                                    }\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5516,\n                                    \"end\": 5523,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 160,\n                                        \"column\": 8\n                                      },\n                                      \"end\": {\n                                        \"line\": 160,\n                                        \"column\": 15\n                                      },\n                                      \"identifierName\": \"_bodies\"\n                                    },\n                                    \"name\": \"_bodies\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5524,\n                                  \"end\": 5530,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 160,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 160,\n                                      \"column\": 22\n                                    },\n                                    \"identifierName\": \"splice\"\n                                  },\n                                  \"name\": \"splice\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"CallExpression\",\n                                  \"start\": 5531,\n                                  \"end\": 5557,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 160,\n                                      \"column\": 23\n                                    },\n                                    \"end\": {\n                                      \"line\": 160,\n                                      \"column\": 49\n                                    }\n                                  },\n                                  \"callee\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 5531,\n                                    \"end\": 5551,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 160,\n                                        \"column\": 23\n                                      },\n                                      \"end\": {\n                                        \"line\": 160,\n                                        \"column\": 43\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 5531,\n                                      \"end\": 5543,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 160,\n                                          \"column\": 23\n                                        },\n                                        \"end\": {\n                                          \"line\": 160,\n                                          \"column\": 35\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"ThisExpression\",\n                                        \"start\": 5531,\n                                        \"end\": 5535,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 160,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 160,\n                                            \"column\": 27\n                                          }\n                                        }\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 5536,\n                                        \"end\": 5543,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 160,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 160,\n                                            \"column\": 35\n                                          },\n                                          \"identifierName\": \"_bodies\"\n                                        },\n                                        \"name\": \"_bodies\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5544,\n                                      \"end\": 5551,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 160,\n                                          \"column\": 36\n                                        },\n                                        \"end\": {\n                                          \"line\": 160,\n                                          \"column\": 43\n                                        },\n                                        \"identifierName\": \"indexOf\"\n                                      },\n                                      \"name\": \"indexOf\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"arguments\": [\n                                    {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5552,\n                                      \"end\": 5556,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 160,\n                                          \"column\": 44\n                                        },\n                                        \"end\": {\n                                          \"line\": 160,\n                                          \"column\": 48\n                                        },\n                                        \"identifierName\": \"body\"\n                                      },\n                                      \"name\": \"body\"\n                                    }\n                                  ]\n                                },\n                                {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 5559,\n                                  \"end\": 5560,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 160,\n                                      \"column\": 51\n                                    },\n                                    \"end\": {\n                                      \"line\": 160,\n                                      \"column\": 52\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 1,\n                                    \"raw\": \"1\"\n                                  },\n                                  \"value\": 1\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 5570,\n                      \"end\": 5643,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 163,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 167,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 5573,\n                        \"end\": 5597,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 163,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 163,\n                            \"column\": 29\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 5573,\n                          \"end\": 5588,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 163,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 163,\n                              \"column\": 20\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 5573,\n                            \"end\": 5577,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 163,\n                                \"column\": 5\n                              },\n                              \"end\": {\n                                \"line\": 163,\n                                \"column\": 9\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5578,\n                            \"end\": 5588,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 163,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 163,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"_hierarchy\"\n                            },\n                            \"name\": \"_hierarchy\"\n                          },\n                          \"computed\": false\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5593,\n                          \"end\": 5597,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 163,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 163,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"body\"\n                          },\n                          \"name\": \"body\"\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 5599,\n                        \"end\": 5643,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 163,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 167,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5604,\n                            \"end\": 5627,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 164,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 164,\n                                \"column\": 26\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 5604,\n                              \"end\": 5626,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 164,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 164,\n                                  \"column\": 25\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5604,\n                                \"end\": 5619,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 164,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 164,\n                                    \"column\": 18\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 5604,\n                                  \"end\": 5608,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 164,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 164,\n                                      \"column\": 7\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5609,\n                                  \"end\": 5619,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 164,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 164,\n                                      \"column\": 18\n                                    },\n                                    \"identifierName\": \"_hierarchy\"\n                                  },\n                                  \"name\": \"_hierarchy\"\n                                },\n                                \"computed\": false\n                              },\n                              \"right\": {\n                                \"type\": \"NullLiteral\",\n                                \"start\": 5622,\n                                \"end\": 5626,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 164,\n                                    \"column\": 21\n                                  },\n                                  \"end\": {\n                                    \"line\": 164,\n                                    \"column\": 25\n                                  }\n                                }\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ReturnStatement\",\n                            \"start\": 5632,\n                            \"end\": 5639,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 166,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 166,\n                                \"column\": 10\n                              }\n                            },\n                            \"argument\": null\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5647,\n                      \"end\": 5685,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 169,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 169,\n                          \"column\": 40\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5653,\n                          \"end\": 5684,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 169,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 169,\n                              \"column\": 39\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5653,\n                            \"end\": 5659,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 169,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 169,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"parent\"\n                            },\n                            \"name\": \"parent\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5668,\n                            \"end\": 5684,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 169,\n                                \"column\": 23\n                              },\n                              \"end\": {\n                                \"line\": 169,\n                                \"column\": 39\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5668,\n                              \"end\": 5672,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 169,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 169,\n                                  \"column\": 27\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5673,\n                              \"end\": 5684,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 169,\n                                  \"column\": 28\n                                },\n                                \"end\": {\n                                  \"line\": 169,\n                                  \"column\": 39\n                                },\n                                \"identifierName\": \"_bvh_parent\"\n                              },\n                              \"name\": \"_bvh_parent\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5688,\n                      \"end\": 5728,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 170,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 170,\n                          \"column\": 42\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5694,\n                          \"end\": 5727,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 170,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 170,\n                              \"column\": 41\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5694,\n                            \"end\": 5705,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 170,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 170,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"grandparent\"\n                            },\n                            \"name\": \"grandparent\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5709,\n                            \"end\": 5727,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 170,\n                                \"column\": 23\n                              },\n                              \"end\": {\n                                \"line\": 170,\n                                \"column\": 41\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5709,\n                              \"end\": 5715,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 170,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 170,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"parent\"\n                              },\n                              \"name\": \"parent\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5716,\n                              \"end\": 5727,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 170,\n                                  \"column\": 30\n                                },\n                                \"end\": {\n                                  \"line\": 170,\n                                  \"column\": 41\n                                },\n                                \"identifierName\": \"_bvh_parent\"\n                              },\n                              \"name\": \"_bvh_parent\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5731,\n                      \"end\": 5769,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 171,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 171,\n                          \"column\": 40\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5737,\n                          \"end\": 5768,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 171,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 171,\n                              \"column\": 39\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5737,\n                            \"end\": 5748,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 171,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 171,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"parent_left\"\n                            },\n                            \"name\": \"parent_left\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5752,\n                            \"end\": 5768,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 171,\n                                \"column\": 23\n                              },\n                              \"end\": {\n                                \"line\": 171,\n                                \"column\": 39\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5752,\n                              \"end\": 5758,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 171,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 171,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"parent\"\n                              },\n                              \"name\": \"parent\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5759,\n                              \"end\": 5768,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 171,\n                                  \"column\": 30\n                                },\n                                \"end\": {\n                                  \"line\": 171,\n                                  \"column\": 39\n                                },\n                                \"identifierName\": \"_bvh_left\"\n                              },\n                              \"name\": \"_bvh_left\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5772,\n                      \"end\": 5848,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 172,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 172,\n                          \"column\": 78\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5778,\n                          \"end\": 5847,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 172,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 172,\n                              \"column\": 77\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5778,\n                            \"end\": 5785,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 172,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 172,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"sibling\"\n                            },\n                            \"name\": \"sibling\"\n                          },\n                          \"init\": {\n                            \"type\": \"ConditionalExpression\",\n                            \"start\": 5793,\n                            \"end\": 5847,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 172,\n                                \"column\": 23\n                              },\n                              \"end\": {\n                                \"line\": 172,\n                                \"column\": 77\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 5793,\n                              \"end\": 5813,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 172,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 172,\n                                  \"column\": 43\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5793,\n                                \"end\": 5804,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 172,\n                                    \"column\": 23\n                                  },\n                                  \"end\": {\n                                    \"line\": 172,\n                                    \"column\": 34\n                                  },\n                                  \"identifierName\": \"parent_left\"\n                                },\n                                \"name\": \"parent_left\"\n                              },\n                              \"operator\": \"===\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5809,\n                                \"end\": 5813,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 172,\n                                    \"column\": 39\n                                  },\n                                  \"end\": {\n                                    \"line\": 172,\n                                    \"column\": 43\n                                  },\n                                  \"identifierName\": \"body\"\n                                },\n                                \"name\": \"body\"\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 5816,\n                              \"end\": 5833,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 172,\n                                  \"column\": 46\n                                },\n                                \"end\": {\n                                  \"line\": 172,\n                                  \"column\": 63\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5816,\n                                \"end\": 5822,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 172,\n                                    \"column\": 46\n                                  },\n                                  \"end\": {\n                                    \"line\": 172,\n                                    \"column\": 52\n                                  },\n                                  \"identifierName\": \"parent\"\n                                },\n                                \"name\": \"parent\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5823,\n                                \"end\": 5833,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 172,\n                                    \"column\": 53\n                                  },\n                                  \"end\": {\n                                    \"line\": 172,\n                                    \"column\": 63\n                                  },\n                                  \"identifierName\": \"_bvh_right\"\n                                },\n                                \"name\": \"_bvh_right\"\n                              },\n                              \"computed\": false\n                            },\n                            \"alternate\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5836,\n                              \"end\": 5847,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 172,\n                                  \"column\": 66\n                                },\n                                \"end\": {\n                                  \"line\": 172,\n                                  \"column\": 77\n                                },\n                                \"identifierName\": \"parent_left\"\n                              },\n                              \"name\": \"parent_left\"\n                            }\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 5852,\n                      \"end\": 5886,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 174,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 174,\n                          \"column\": 36\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 5852,\n                        \"end\": 5885,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 174,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 174,\n                            \"column\": 35\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 5852,\n                          \"end\": 5871,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 174,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 174,\n                              \"column\": 21\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5852,\n                            \"end\": 5859,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 174,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 174,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"sibling\"\n                            },\n                            \"name\": \"sibling\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5860,\n                            \"end\": 5871,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 174,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 174,\n                                \"column\": 21\n                              },\n                              \"identifierName\": \"_bvh_parent\"\n                            },\n                            \"name\": \"_bvh_parent\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5874,\n                          \"end\": 5885,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 174,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 174,\n                              \"column\": 35\n                            },\n                            \"identifierName\": \"grandparent\"\n                          },\n                          \"name\": \"grandparent\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 5890,\n                      \"end\": 5960,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 176,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 178,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 5893,\n                        \"end\": 5912,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 176,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 176,\n                            \"column\": 24\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5893,\n                          \"end\": 5900,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 176,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 176,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"sibling\"\n                          },\n                          \"name\": \"sibling\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5901,\n                          \"end\": 5912,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 176,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 176,\n                              \"column\": 24\n                            },\n                            \"identifierName\": \"_bvh_branch\"\n                          },\n                          \"name\": \"_bvh_branch\"\n                        },\n                        \"computed\": false\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 5914,\n                        \"end\": 5960,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 176,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 178,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5919,\n                            \"end\": 5956,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 177,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 177,\n                                \"column\": 40\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 5919,\n                              \"end\": 5955,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 177,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 177,\n                                  \"column\": 39\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5919,\n                                \"end\": 5936,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 177,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 177,\n                                    \"column\": 20\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5919,\n                                  \"end\": 5926,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 177,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 177,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"sibling\"\n                                  },\n                                  \"name\": \"sibling\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5927,\n                                  \"end\": 5936,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 177,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 177,\n                                      \"column\": 20\n                                    },\n                                    \"identifierName\": \"_bvh_sort\"\n                                  },\n                                  \"name\": \"_bvh_sort\"\n                                },\n                                \"computed\": false\n                              },\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5939,\n                                \"end\": 5955,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 177,\n                                    \"column\": 23\n                                  },\n                                  \"end\": {\n                                    \"line\": 177,\n                                    \"column\": 39\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5939,\n                                  \"end\": 5945,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 177,\n                                      \"column\": 23\n                                    },\n                                    \"end\": {\n                                      \"line\": 177,\n                                      \"column\": 29\n                                    },\n                                    \"identifierName\": \"parent\"\n                                  },\n                                  \"name\": \"parent\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5946,\n                                  \"end\": 5955,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 177,\n                                      \"column\": 30\n                                    },\n                                    \"end\": {\n                                      \"line\": 177,\n                                      \"column\": 39\n                                    },\n                                    \"identifierName\": \"_bvh_sort\"\n                                  },\n                                  \"name\": \"_bvh_sort\"\n                                },\n                                \"computed\": false\n                              }\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 5964,\n                      \"end\": 6976,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 180,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 213,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 5967,\n                        \"end\": 5978,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 180,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 180,\n                            \"column\": 16\n                          },\n                          \"identifierName\": \"grandparent\"\n                        },\n                        \"name\": \"grandparent\"\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 5980,\n                        \"end\": 6933,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 180,\n                            \"column\": 18\n                          },\n                          \"end\": {\n                            \"line\": 210,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 5985,\n                            \"end\": 6118,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 181,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 186,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 5988,\n                              \"end\": 6020,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 181,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 181,\n                                  \"column\": 38\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5988,\n                                \"end\": 6009,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 181,\n                                    \"column\": 6\n                                  },\n                                  \"end\": {\n                                    \"line\": 181,\n                                    \"column\": 27\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5988,\n                                  \"end\": 5999,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 181,\n                                      \"column\": 6\n                                    },\n                                    \"end\": {\n                                      \"line\": 181,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"grandparent\"\n                                  },\n                                  \"name\": \"grandparent\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 6000,\n                                  \"end\": 6009,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 181,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 181,\n                                      \"column\": 27\n                                    },\n                                    \"identifierName\": \"_bvh_left\"\n                                  },\n                                  \"name\": \"_bvh_left\"\n                                },\n                                \"computed\": false\n                              },\n                              \"operator\": \"===\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 6014,\n                                \"end\": 6020,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 181,\n                                    \"column\": 32\n                                  },\n                                  \"end\": {\n                                    \"line\": 181,\n                                    \"column\": 38\n                                  },\n                                  \"identifierName\": \"parent\"\n                                },\n                                \"name\": \"parent\"\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 6022,\n                              \"end\": 6065,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 181,\n                                  \"column\": 40\n                                },\n                                \"end\": {\n                                  \"line\": 183,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 6028,\n                                  \"end\": 6060,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 182,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 182,\n                                      \"column\": 36\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 6028,\n                                    \"end\": 6059,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 182,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 182,\n                                        \"column\": 35\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6028,\n                                      \"end\": 6049,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 182,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 182,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6028,\n                                        \"end\": 6039,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 182,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 182,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"grandparent\"\n                                        },\n                                        \"name\": \"grandparent\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6040,\n                                        \"end\": 6049,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 182,\n                                            \"column\": 16\n                                          },\n                                          \"end\": {\n                                            \"line\": 182,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"_bvh_left\"\n                                        },\n                                        \"name\": \"_bvh_left\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6052,\n                                      \"end\": 6059,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 182,\n                                          \"column\": 28\n                                        },\n                                        \"end\": {\n                                          \"line\": 182,\n                                          \"column\": 35\n                                        },\n                                        \"identifierName\": \"sibling\"\n                                      },\n                                      \"name\": \"sibling\"\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 6074,\n                              \"end\": 6118,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 184,\n                                  \"column\": 8\n                                },\n                                \"end\": {\n                                  \"line\": 186,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 6080,\n                                  \"end\": 6113,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 185,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 185,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 6080,\n                                    \"end\": 6112,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 185,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 185,\n                                        \"column\": 36\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6080,\n                                      \"end\": 6102,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 185,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 185,\n                                          \"column\": 26\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6080,\n                                        \"end\": 6091,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 185,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 185,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"grandparent\"\n                                        },\n                                        \"name\": \"grandparent\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6092,\n                                        \"end\": 6102,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 185,\n                                            \"column\": 16\n                                          },\n                                          \"end\": {\n                                            \"line\": 185,\n                                            \"column\": 26\n                                          },\n                                          \"identifierName\": \"_bvh_right\"\n                                        },\n                                        \"name\": \"_bvh_right\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6105,\n                                      \"end\": 6112,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 185,\n                                          \"column\": 29\n                                        },\n                                        \"end\": {\n                                          \"line\": 185,\n                                          \"column\": 36\n                                        },\n                                        \"identifierName\": \"sibling\"\n                                      },\n                                      \"name\": \"sibling\"\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            }\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 6123,\n                            \"end\": 6148,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 188,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 188,\n                                \"column\": 28\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 6127,\n                                \"end\": 6147,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 188,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 188,\n                                    \"column\": 27\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 6127,\n                                  \"end\": 6133,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 188,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 188,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"branch\"\n                                  },\n                                  \"name\": \"branch\"\n                                },\n                                \"init\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 6136,\n                                  \"end\": 6147,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 188,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 188,\n                                      \"column\": 27\n                                    },\n                                    \"identifierName\": \"grandparent\"\n                                  },\n                                  \"name\": \"grandparent\"\n                                }\n                              }\n                            ],\n                            \"kind\": \"let\"\n                          },\n                          {\n                            \"type\": \"WhileStatement\",\n                            \"start\": 6153,\n                            \"end\": 6929,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 190,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 209,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 6159,\n                              \"end\": 6165,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 190,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 190,\n                                  \"column\": 15\n                                },\n                                \"identifierName\": \"branch\"\n                              },\n                              \"name\": \"branch\"\n                            },\n                            \"body\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 6167,\n                              \"end\": 6929,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 190,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 209,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6173,\n                                  \"end\": 6209,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 191,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 191,\n                                      \"column\": 40\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6179,\n                                      \"end\": 6208,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 191,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 191,\n                                          \"column\": 39\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6179,\n                                        \"end\": 6183,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 191,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 191,\n                                            \"column\": 14\n                                          },\n                                          \"identifierName\": \"left\"\n                                        },\n                                        \"name\": \"left\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6192,\n                                        \"end\": 6208,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 191,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 191,\n                                            \"column\": 39\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6192,\n                                          \"end\": 6198,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 191,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 191,\n                                              \"column\": 29\n                                            },\n                                            \"identifierName\": \"branch\"\n                                          },\n                                          \"name\": \"branch\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6199,\n                                          \"end\": 6208,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 191,\n                                              \"column\": 30\n                                            },\n                                            \"end\": {\n                                              \"line\": 191,\n                                              \"column\": 39\n                                            },\n                                            \"identifierName\": \"_bvh_left\"\n                                          },\n                                          \"name\": \"_bvh_left\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6214,\n                                  \"end\": 6249,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 192,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 192,\n                                      \"column\": 39\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6220,\n                                      \"end\": 6248,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 192,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 192,\n                                          \"column\": 38\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6220,\n                                        \"end\": 6230,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 192,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 192,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"left_min_x\"\n                                        },\n                                        \"name\": \"left_min_x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6233,\n                                        \"end\": 6248,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 192,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 192,\n                                            \"column\": 38\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6233,\n                                          \"end\": 6237,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 192,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 192,\n                                              \"column\": 27\n                                            },\n                                            \"identifierName\": \"left\"\n                                          },\n                                          \"name\": \"left\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6238,\n                                          \"end\": 6248,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 192,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 192,\n                                              \"column\": 38\n                                            },\n                                            \"identifierName\": \"_bvh_min_x\"\n                                          },\n                                          \"name\": \"_bvh_min_x\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6254,\n                                  \"end\": 6289,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 193,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 193,\n                                      \"column\": 39\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6260,\n                                      \"end\": 6288,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 193,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 193,\n                                          \"column\": 38\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6260,\n                                        \"end\": 6270,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 193,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 193,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"left_min_y\"\n                                        },\n                                        \"name\": \"left_min_y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6273,\n                                        \"end\": 6288,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 193,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 193,\n                                            \"column\": 38\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6273,\n                                          \"end\": 6277,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 193,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 193,\n                                              \"column\": 27\n                                            },\n                                            \"identifierName\": \"left\"\n                                          },\n                                          \"name\": \"left\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6278,\n                                          \"end\": 6288,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 193,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 193,\n                                              \"column\": 38\n                                            },\n                                            \"identifierName\": \"_bvh_min_y\"\n                                          },\n                                          \"name\": \"_bvh_min_y\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6294,\n                                  \"end\": 6329,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 194,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 194,\n                                      \"column\": 39\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6300,\n                                      \"end\": 6328,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 194,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 194,\n                                          \"column\": 38\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6300,\n                                        \"end\": 6310,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 194,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 194,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"left_max_x\"\n                                        },\n                                        \"name\": \"left_max_x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6313,\n                                        \"end\": 6328,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 194,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 194,\n                                            \"column\": 38\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6313,\n                                          \"end\": 6317,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 194,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 194,\n                                              \"column\": 27\n                                            },\n                                            \"identifierName\": \"left\"\n                                          },\n                                          \"name\": \"left\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6318,\n                                          \"end\": 6328,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 194,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 194,\n                                              \"column\": 38\n                                            },\n                                            \"identifierName\": \"_bvh_max_x\"\n                                          },\n                                          \"name\": \"_bvh_max_x\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6334,\n                                  \"end\": 6369,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 195,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 195,\n                                      \"column\": 39\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6340,\n                                      \"end\": 6368,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 195,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 195,\n                                          \"column\": 38\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6340,\n                                        \"end\": 6350,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 195,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 195,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"left_max_y\"\n                                        },\n                                        \"name\": \"left_max_y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6353,\n                                        \"end\": 6368,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 195,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 195,\n                                            \"column\": 38\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6353,\n                                          \"end\": 6357,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 195,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 195,\n                                              \"column\": 27\n                                            },\n                                            \"identifierName\": \"left\"\n                                          },\n                                          \"name\": \"left\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6358,\n                                          \"end\": 6368,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 195,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 195,\n                                              \"column\": 38\n                                            },\n                                            \"identifierName\": \"_bvh_max_y\"\n                                          },\n                                          \"name\": \"_bvh_max_y\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6375,\n                                  \"end\": 6413,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 197,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 197,\n                                      \"column\": 42\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6381,\n                                      \"end\": 6412,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 197,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 197,\n                                          \"column\": 41\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6381,\n                                        \"end\": 6386,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 197,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 197,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"right\"\n                                        },\n                                        \"name\": \"right\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6395,\n                                        \"end\": 6412,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 197,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 197,\n                                            \"column\": 41\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6395,\n                                          \"end\": 6401,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 197,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 197,\n                                              \"column\": 30\n                                            },\n                                            \"identifierName\": \"branch\"\n                                          },\n                                          \"name\": \"branch\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6402,\n                                          \"end\": 6412,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 197,\n                                              \"column\": 31\n                                            },\n                                            \"end\": {\n                                              \"line\": 197,\n                                              \"column\": 41\n                                            },\n                                            \"identifierName\": \"_bvh_right\"\n                                          },\n                                          \"name\": \"_bvh_right\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6418,\n                                  \"end\": 6455,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 198,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 198,\n                                      \"column\": 41\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6424,\n                                      \"end\": 6454,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 198,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 198,\n                                          \"column\": 40\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6424,\n                                        \"end\": 6435,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 198,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 198,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"right_min_x\"\n                                        },\n                                        \"name\": \"right_min_x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6438,\n                                        \"end\": 6454,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 198,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 198,\n                                            \"column\": 40\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6438,\n                                          \"end\": 6443,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 198,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 198,\n                                              \"column\": 29\n                                            },\n                                            \"identifierName\": \"right\"\n                                          },\n                                          \"name\": \"right\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6444,\n                                          \"end\": 6454,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 198,\n                                              \"column\": 30\n                                            },\n                                            \"end\": {\n                                              \"line\": 198,\n                                              \"column\": 40\n                                            },\n                                            \"identifierName\": \"_bvh_min_x\"\n                                          },\n                                          \"name\": \"_bvh_min_x\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6460,\n                                  \"end\": 6497,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 199,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 199,\n                                      \"column\": 41\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6466,\n                                      \"end\": 6496,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 199,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 199,\n                                          \"column\": 40\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6466,\n                                        \"end\": 6477,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 199,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 199,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"right_min_y\"\n                                        },\n                                        \"name\": \"right_min_y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6480,\n                                        \"end\": 6496,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 199,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 199,\n                                            \"column\": 40\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6480,\n                                          \"end\": 6485,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 199,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 199,\n                                              \"column\": 29\n                                            },\n                                            \"identifierName\": \"right\"\n                                          },\n                                          \"name\": \"right\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6486,\n                                          \"end\": 6496,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 199,\n                                              \"column\": 30\n                                            },\n                                            \"end\": {\n                                              \"line\": 199,\n                                              \"column\": 40\n                                            },\n                                            \"identifierName\": \"_bvh_min_y\"\n                                          },\n                                          \"name\": \"_bvh_min_y\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6502,\n                                  \"end\": 6539,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 200,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 200,\n                                      \"column\": 41\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6508,\n                                      \"end\": 6538,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 200,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 200,\n                                          \"column\": 40\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6508,\n                                        \"end\": 6519,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 200,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 200,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"right_max_x\"\n                                        },\n                                        \"name\": \"right_max_x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6522,\n                                        \"end\": 6538,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 200,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 200,\n                                            \"column\": 40\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6522,\n                                          \"end\": 6527,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 200,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 200,\n                                              \"column\": 29\n                                            },\n                                            \"identifierName\": \"right\"\n                                          },\n                                          \"name\": \"right\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6528,\n                                          \"end\": 6538,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 200,\n                                              \"column\": 30\n                                            },\n                                            \"end\": {\n                                              \"line\": 200,\n                                              \"column\": 40\n                                            },\n                                            \"identifierName\": \"_bvh_max_x\"\n                                          },\n                                          \"name\": \"_bvh_max_x\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 6544,\n                                  \"end\": 6581,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 201,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 201,\n                                      \"column\": 41\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 6550,\n                                      \"end\": 6580,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 201,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 201,\n                                          \"column\": 40\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6550,\n                                        \"end\": 6561,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 201,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 201,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"right_max_y\"\n                                        },\n                                        \"name\": \"right_max_y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6564,\n                                        \"end\": 6580,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 201,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 201,\n                                            \"column\": 40\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6564,\n                                          \"end\": 6569,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 201,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 201,\n                                              \"column\": 29\n                                            },\n                                            \"identifierName\": \"right\"\n                                          },\n                                          \"name\": \"right\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6570,\n                                          \"end\": 6580,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 201,\n                                              \"column\": 30\n                                            },\n                                            \"end\": {\n                                              \"line\": 201,\n                                              \"column\": 40\n                                            },\n                                            \"identifierName\": \"_bvh_max_y\"\n                                          },\n                                          \"name\": \"_bvh_max_y\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 6587,\n                                  \"end\": 6659,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 203,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 203,\n                                      \"column\": 76\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 6587,\n                                    \"end\": 6658,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 203,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 203,\n                                        \"column\": 75\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6587,\n                                      \"end\": 6604,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 203,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 203,\n                                          \"column\": 21\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6587,\n                                        \"end\": 6593,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 203,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 203,\n                                            \"column\": 10\n                                          },\n                                          \"identifierName\": \"branch\"\n                                        },\n                                        \"name\": \"branch\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6594,\n                                        \"end\": 6604,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 203,\n                                            \"column\": 11\n                                          },\n                                          \"end\": {\n                                            \"line\": 203,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"_bvh_min_x\"\n                                        },\n                                        \"name\": \"_bvh_min_x\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"right\": {\n                                      \"type\": \"ConditionalExpression\",\n                                      \"start\": 6607,\n                                      \"end\": 6658,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 203,\n                                          \"column\": 24\n                                        },\n                                        \"end\": {\n                                          \"line\": 203,\n                                          \"column\": 75\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6607,\n                                        \"end\": 6631,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 203,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 203,\n                                            \"column\": 48\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6607,\n                                          \"end\": 6617,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 203,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 203,\n                                              \"column\": 34\n                                            },\n                                            \"identifierName\": \"left_min_x\"\n                                          },\n                                          \"name\": \"left_min_x\"\n                                        },\n                                        \"operator\": \"<\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6620,\n                                          \"end\": 6631,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 203,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 203,\n                                              \"column\": 48\n                                            },\n                                            \"identifierName\": \"right_min_x\"\n                                          },\n                                          \"name\": \"right_min_x\"\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6634,\n                                        \"end\": 6644,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 203,\n                                            \"column\": 51\n                                          },\n                                          \"end\": {\n                                            \"line\": 203,\n                                            \"column\": 61\n                                          },\n                                          \"identifierName\": \"left_min_x\"\n                                        },\n                                        \"name\": \"left_min_x\"\n                                      },\n                                      \"alternate\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6647,\n                                        \"end\": 6658,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 203,\n                                            \"column\": 64\n                                          },\n                                          \"end\": {\n                                            \"line\": 203,\n                                            \"column\": 75\n                                          },\n                                          \"identifierName\": \"right_min_x\"\n                                        },\n                                        \"name\": \"right_min_x\"\n                                      }\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 6664,\n                                  \"end\": 6736,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 204,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 204,\n                                      \"column\": 76\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 6664,\n                                    \"end\": 6735,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 204,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 204,\n                                        \"column\": 75\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6664,\n                                      \"end\": 6681,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 204,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 204,\n                                          \"column\": 21\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6664,\n                                        \"end\": 6670,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 204,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 204,\n                                            \"column\": 10\n                                          },\n                                          \"identifierName\": \"branch\"\n                                        },\n                                        \"name\": \"branch\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6671,\n                                        \"end\": 6681,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 204,\n                                            \"column\": 11\n                                          },\n                                          \"end\": {\n                                            \"line\": 204,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"_bvh_min_y\"\n                                        },\n                                        \"name\": \"_bvh_min_y\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"right\": {\n                                      \"type\": \"ConditionalExpression\",\n                                      \"start\": 6684,\n                                      \"end\": 6735,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 204,\n                                          \"column\": 24\n                                        },\n                                        \"end\": {\n                                          \"line\": 204,\n                                          \"column\": 75\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6684,\n                                        \"end\": 6708,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 204,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 204,\n                                            \"column\": 48\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6684,\n                                          \"end\": 6694,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 204,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 204,\n                                              \"column\": 34\n                                            },\n                                            \"identifierName\": \"left_min_y\"\n                                          },\n                                          \"name\": \"left_min_y\"\n                                        },\n                                        \"operator\": \"<\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6697,\n                                          \"end\": 6708,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 204,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 204,\n                                              \"column\": 48\n                                            },\n                                            \"identifierName\": \"right_min_y\"\n                                          },\n                                          \"name\": \"right_min_y\"\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6711,\n                                        \"end\": 6721,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 204,\n                                            \"column\": 51\n                                          },\n                                          \"end\": {\n                                            \"line\": 204,\n                                            \"column\": 61\n                                          },\n                                          \"identifierName\": \"left_min_y\"\n                                        },\n                                        \"name\": \"left_min_y\"\n                                      },\n                                      \"alternate\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6724,\n                                        \"end\": 6735,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 204,\n                                            \"column\": 64\n                                          },\n                                          \"end\": {\n                                            \"line\": 204,\n                                            \"column\": 75\n                                          },\n                                          \"identifierName\": \"right_min_y\"\n                                        },\n                                        \"name\": \"right_min_y\"\n                                      }\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 6741,\n                                  \"end\": 6813,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 205,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 205,\n                                      \"column\": 76\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 6741,\n                                    \"end\": 6812,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 205,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 205,\n                                        \"column\": 75\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6741,\n                                      \"end\": 6758,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 205,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 205,\n                                          \"column\": 21\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6741,\n                                        \"end\": 6747,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 205,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 205,\n                                            \"column\": 10\n                                          },\n                                          \"identifierName\": \"branch\"\n                                        },\n                                        \"name\": \"branch\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6748,\n                                        \"end\": 6758,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 205,\n                                            \"column\": 11\n                                          },\n                                          \"end\": {\n                                            \"line\": 205,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"_bvh_max_x\"\n                                        },\n                                        \"name\": \"_bvh_max_x\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"right\": {\n                                      \"type\": \"ConditionalExpression\",\n                                      \"start\": 6761,\n                                      \"end\": 6812,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 205,\n                                          \"column\": 24\n                                        },\n                                        \"end\": {\n                                          \"line\": 205,\n                                          \"column\": 75\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6761,\n                                        \"end\": 6785,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 205,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 205,\n                                            \"column\": 48\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6761,\n                                          \"end\": 6771,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 205,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 205,\n                                              \"column\": 34\n                                            },\n                                            \"identifierName\": \"left_max_x\"\n                                          },\n                                          \"name\": \"left_max_x\"\n                                        },\n                                        \"operator\": \">\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6774,\n                                          \"end\": 6785,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 205,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 205,\n                                              \"column\": 48\n                                            },\n                                            \"identifierName\": \"right_max_x\"\n                                          },\n                                          \"name\": \"right_max_x\"\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6788,\n                                        \"end\": 6798,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 205,\n                                            \"column\": 51\n                                          },\n                                          \"end\": {\n                                            \"line\": 205,\n                                            \"column\": 61\n                                          },\n                                          \"identifierName\": \"left_max_x\"\n                                        },\n                                        \"name\": \"left_max_x\"\n                                      },\n                                      \"alternate\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6801,\n                                        \"end\": 6812,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 205,\n                                            \"column\": 64\n                                          },\n                                          \"end\": {\n                                            \"line\": 205,\n                                            \"column\": 75\n                                          },\n                                          \"identifierName\": \"right_max_x\"\n                                        },\n                                        \"name\": \"right_max_x\"\n                                      }\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 6818,\n                                  \"end\": 6890,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 206,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 206,\n                                      \"column\": 76\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 6818,\n                                    \"end\": 6889,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 206,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 206,\n                                        \"column\": 75\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6818,\n                                      \"end\": 6835,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 206,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 206,\n                                          \"column\": 21\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6818,\n                                        \"end\": 6824,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 206,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 206,\n                                            \"column\": 10\n                                          },\n                                          \"identifierName\": \"branch\"\n                                        },\n                                        \"name\": \"branch\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6825,\n                                        \"end\": 6835,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 206,\n                                            \"column\": 11\n                                          },\n                                          \"end\": {\n                                            \"line\": 206,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"_bvh_max_y\"\n                                        },\n                                        \"name\": \"_bvh_max_y\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"right\": {\n                                      \"type\": \"ConditionalExpression\",\n                                      \"start\": 6838,\n                                      \"end\": 6889,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 206,\n                                          \"column\": 24\n                                        },\n                                        \"end\": {\n                                          \"line\": 206,\n                                          \"column\": 75\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6838,\n                                        \"end\": 6862,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 206,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 206,\n                                            \"column\": 48\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6838,\n                                          \"end\": 6848,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 206,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 206,\n                                              \"column\": 34\n                                            },\n                                            \"identifierName\": \"left_max_y\"\n                                          },\n                                          \"name\": \"left_max_y\"\n                                        },\n                                        \"operator\": \">\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6851,\n                                          \"end\": 6862,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 206,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 206,\n                                              \"column\": 48\n                                            },\n                                            \"identifierName\": \"right_max_y\"\n                                          },\n                                          \"name\": \"right_max_y\"\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6865,\n                                        \"end\": 6875,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 206,\n                                            \"column\": 51\n                                          },\n                                          \"end\": {\n                                            \"line\": 206,\n                                            \"column\": 61\n                                          },\n                                          \"identifierName\": \"left_max_y\"\n                                        },\n                                        \"name\": \"left_max_y\"\n                                      },\n                                      \"alternate\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6878,\n                                        \"end\": 6889,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 206,\n                                            \"column\": 64\n                                          },\n                                          \"end\": {\n                                            \"line\": 206,\n                                            \"column\": 75\n                                          },\n                                          \"identifierName\": \"right_max_y\"\n                                        },\n                                        \"name\": \"right_max_y\"\n                                      }\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 6896,\n                                  \"end\": 6924,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 208,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 208,\n                                      \"column\": 32\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 6896,\n                                    \"end\": 6923,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 208,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 208,\n                                        \"column\": 31\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6896,\n                                      \"end\": 6902,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 208,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 208,\n                                          \"column\": 10\n                                        },\n                                        \"identifierName\": \"branch\"\n                                      },\n                                      \"name\": \"branch\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6905,\n                                      \"end\": 6923,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 208,\n                                          \"column\": 13\n                                        },\n                                        \"end\": {\n                                          \"line\": 208,\n                                          \"column\": 31\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6905,\n                                        \"end\": 6911,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 208,\n                                            \"column\": 13\n                                          },\n                                          \"end\": {\n                                            \"line\": 208,\n                                            \"column\": 19\n                                          },\n                                          \"identifierName\": \"branch\"\n                                        },\n                                        \"name\": \"branch\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6912,\n                                        \"end\": 6923,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 208,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 208,\n                                            \"column\": 31\n                                          },\n                                          \"identifierName\": \"_bvh_parent\"\n                                        },\n                                        \"name\": \"_bvh_parent\"\n                                      },\n                                      \"computed\": false\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 6941,\n                        \"end\": 6976,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 211,\n                            \"column\": 7\n                          },\n                          \"end\": {\n                            \"line\": 213,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 6946,\n                            \"end\": 6972,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 212,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 212,\n                                \"column\": 29\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 6946,\n                              \"end\": 6971,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 212,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 212,\n                                  \"column\": 28\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 6946,\n                                \"end\": 6961,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 212,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 212,\n                                    \"column\": 18\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 6946,\n                                  \"end\": 6950,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 212,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 212,\n                                      \"column\": 7\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 6951,\n                                  \"end\": 6961,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 212,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 212,\n                                      \"column\": 18\n                                    },\n                                    \"identifierName\": \"_hierarchy\"\n                                  },\n                                  \"name\": \"_hierarchy\"\n                                },\n                                \"computed\": false\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 6964,\n                                \"end\": 6971,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 212,\n                                    \"column\": 21\n                                  },\n                                  \"end\": {\n                                    \"line\": 212,\n                                    \"column\": 28\n                                  },\n                                  \"identifierName\": \"sibling\"\n                                },\n                                \"name\": \"sibling\"\n                              }\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 6980,\n                      \"end\": 7012,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 215,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 215,\n                          \"column\": 34\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 6980,\n                        \"end\": 7011,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 215,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 215,\n                            \"column\": 33\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 6980,\n                          \"end\": 7003,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 215,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 215,\n                              \"column\": 25\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 6980,\n                            \"end\": 6989,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 215,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 215,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"BVHBranch\"\n                            },\n                            \"name\": \"BVHBranch\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 6990,\n                            \"end\": 7003,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 215,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 215,\n                                \"column\": 25\n                              },\n                              \"identifierName\": \"releaseBranch\"\n                            },\n                            \"name\": \"releaseBranch\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 7004,\n                            \"end\": 7010,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 215,\n                                \"column\": 26\n                              },\n                              \"end\": {\n                                \"line\": 215,\n                                \"column\": 32\n                              },\n                              \"identifierName\": \"parent\"\n                            },\n                            \"name\": \"parent\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Removes a body from the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to remove\\n\\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\\n\\t \",\n                    \"start\": 5074,\n                    \"end\": 5307,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 146,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 150,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Updates the BVH. Moved bodies are removed/inserted.\\n\\t \",\n                    \"start\": 7018,\n                    \"end\": 7082,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 218,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 220,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 7084,\n                \"end\": 8253,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 221,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 267,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 7084,\n                  \"end\": 7090,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 221,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 221,\n                      \"column\": 7\n                    },\n                    \"identifierName\": \"update\"\n                  },\n                  \"name\": \"update\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 7093,\n                  \"end\": 8253,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 221,\n                      \"column\": 10\n                    },\n                    \"end\": {\n                      \"line\": 267,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 7097,\n                      \"end\": 7125,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 222,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 222,\n                          \"column\": 30\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 7103,\n                          \"end\": 7124,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 222,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 222,\n                              \"column\": 29\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 7103,\n                            \"end\": 7109,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 222,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 222,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"bodies\"\n                            },\n                            \"name\": \"bodies\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 7112,\n                            \"end\": 7124,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 222,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 222,\n                                \"column\": 29\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 7112,\n                              \"end\": 7116,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 222,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 222,\n                                  \"column\": 21\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 7117,\n                              \"end\": 7124,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 222,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 222,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"_bodies\"\n                              },\n                              \"name\": \"_bodies\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 7128,\n                      \"end\": 7157,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 223,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 223,\n                          \"column\": 31\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 7134,\n                          \"end\": 7156,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 223,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 223,\n                              \"column\": 30\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 7134,\n                            \"end\": 7139,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 223,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 223,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"count\"\n                            },\n                            \"name\": \"count\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 7143,\n                            \"end\": 7156,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 223,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 223,\n                                \"column\": 30\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 7143,\n                              \"end\": 7149,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 223,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 223,\n                                  \"column\": 23\n                                },\n                                \"identifierName\": \"bodies\"\n                              },\n                              \"name\": \"bodies\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 7150,\n                              \"end\": 7156,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 223,\n                                  \"column\": 24\n                                },\n                                \"end\": {\n                                  \"line\": 223,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"length\"\n                              },\n                              \"name\": \"length\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ForStatement\",\n                      \"start\": 7161,\n                      \"end\": 8250,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 225,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 266,\n                          \"column\": 3\n                        }\n                      },\n                      \"init\": {\n                        \"type\": \"VariableDeclaration\",\n                        \"start\": 7165,\n                        \"end\": 7174,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 225,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 225,\n                            \"column\": 15\n                          }\n                        },\n                        \"declarations\": [\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 7169,\n                            \"end\": 7174,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 225,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 225,\n                                \"column\": 15\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 7169,\n                              \"end\": 7170,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 225,\n                                  \"column\": 10\n                                },\n                                \"end\": {\n                                  \"line\": 225,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"i\"\n                              },\n                              \"name\": \"i\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 7173,\n                              \"end\": 7174,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 225,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 225,\n                                  \"column\": 15\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          }\n                        ],\n                        \"kind\": \"let\"\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 7176,\n                        \"end\": 7185,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 225,\n                            \"column\": 17\n                          },\n                          \"end\": {\n                            \"line\": 225,\n                            \"column\": 26\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7176,\n                          \"end\": 7177,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 225,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 225,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"i\"\n                          },\n                          \"name\": \"i\"\n                        },\n                        \"operator\": \"<\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7180,\n                          \"end\": 7185,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 225,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 225,\n                              \"column\": 26\n                            },\n                            \"identifierName\": \"count\"\n                          },\n                          \"name\": \"count\"\n                        }\n                      },\n                      \"update\": {\n                        \"type\": \"UpdateExpression\",\n                        \"start\": 7187,\n                        \"end\": 7190,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 225,\n                            \"column\": 28\n                          },\n                          \"end\": {\n                            \"line\": 225,\n                            \"column\": 31\n                          }\n                        },\n                        \"operator\": \"++\",\n                        \"prefix\": true,\n                        \"argument\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7189,\n                          \"end\": 7190,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 225,\n                              \"column\": 30\n                            },\n                            \"end\": {\n                              \"line\": 225,\n                              \"column\": 31\n                            },\n                            \"identifierName\": \"i\"\n                          },\n                          \"name\": \"i\"\n                        },\n                        \"extra\": {\n                          \"parenthesizedArgument\": false\n                        }\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 7192,\n                        \"end\": 8250,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 225,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 266,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 7197,\n                            \"end\": 7220,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 226,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 226,\n                                \"column\": 26\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 7203,\n                                \"end\": 7219,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 226,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 226,\n                                    \"column\": 25\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 7203,\n                                  \"end\": 7207,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 226,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 226,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"body\"\n                                  },\n                                  \"name\": \"body\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 7210,\n                                  \"end\": 7219,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 226,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 226,\n                                      \"column\": 25\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7210,\n                                    \"end\": 7216,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 226,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 226,\n                                        \"column\": 22\n                                      },\n                                      \"identifierName\": \"bodies\"\n                                    },\n                                    \"name\": \"bodies\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7217,\n                                    \"end\": 7218,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 226,\n                                        \"column\": 23\n                                      },\n                                      \"end\": {\n                                        \"line\": 226,\n                                        \"column\": 24\n                                      },\n                                      \"identifierName\": \"i\"\n                                    },\n                                    \"name\": \"i\"\n                                  },\n                                  \"computed\": true\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 7225,\n                            \"end\": 7244,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 228,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 228,\n                                \"column\": 22\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 7229,\n                                \"end\": 7243,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 228,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 228,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 7229,\n                                  \"end\": 7235,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 228,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 228,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"update\"\n                                  },\n                                  \"name\": \"update\"\n                                },\n                                \"init\": {\n                                  \"type\": \"BooleanLiteral\",\n                                  \"start\": 7238,\n                                  \"end\": 7243,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 228,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 228,\n                                      \"column\": 21\n                                    }\n                                  },\n                                  \"value\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"let\"\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 7249,\n                            \"end\": 7362,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 230,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 233,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 7252,\n                              \"end\": 7297,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 230,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 230,\n                                  \"column\": 51\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"UnaryExpression\",\n                                \"start\": 7252,\n                                \"end\": 7259,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 230,\n                                    \"column\": 6\n                                  },\n                                  \"end\": {\n                                    \"line\": 230,\n                                    \"column\": 13\n                                  }\n                                },\n                                \"operator\": \"!\",\n                                \"prefix\": true,\n                                \"argument\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 7253,\n                                  \"end\": 7259,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 230,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 230,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"update\"\n                                  },\n                                  \"name\": \"update\"\n                                },\n                                \"extra\": {\n                                  \"parenthesizedArgument\": false\n                                }\n                              },\n                              \"operator\": \"&&\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 7263,\n                                \"end\": 7297,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 230,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 230,\n                                    \"column\": 51\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 7263,\n                                  \"end\": 7275,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 230,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 230,\n                                      \"column\": 29\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7263,\n                                    \"end\": 7267,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 230,\n                                        \"column\": 17\n                                      },\n                                      \"end\": {\n                                        \"line\": 230,\n                                        \"column\": 21\n                                      },\n                                      \"identifierName\": \"body\"\n                                    },\n                                    \"name\": \"body\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7268,\n                                    \"end\": 7275,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 230,\n                                        \"column\": 22\n                                      },\n                                      \"end\": {\n                                        \"line\": 230,\n                                        \"column\": 29\n                                      },\n                                      \"identifierName\": \"padding\"\n                                    },\n                                    \"name\": \"padding\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"!==\",\n                                \"right\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 7280,\n                                  \"end\": 7297,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 230,\n                                      \"column\": 34\n                                    },\n                                    \"end\": {\n                                      \"line\": 230,\n                                      \"column\": 51\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7280,\n                                    \"end\": 7284,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 230,\n                                        \"column\": 34\n                                      },\n                                      \"end\": {\n                                        \"line\": 230,\n                                        \"column\": 38\n                                      },\n                                      \"identifierName\": \"body\"\n                                    },\n                                    \"name\": \"body\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7285,\n                                    \"end\": 7297,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 230,\n                                        \"column\": 39\n                                      },\n                                      \"end\": {\n                                        \"line\": 230,\n                                        \"column\": 51\n                                      },\n                                      \"identifierName\": \"_bvh_padding\"\n                                    },\n                                    \"name\": \"_bvh_padding\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 7299,\n                              \"end\": 7362,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 230,\n                                  \"column\": 53\n                                },\n                                \"end\": {\n                                  \"line\": 233,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 7305,\n                                  \"end\": 7338,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 231,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 231,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 7305,\n                                    \"end\": 7337,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 231,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 231,\n                                        \"column\": 36\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 7305,\n                                      \"end\": 7322,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 231,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 231,\n                                          \"column\": 21\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7305,\n                                        \"end\": 7309,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 231,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 231,\n                                            \"column\": 8\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7310,\n                                        \"end\": 7322,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 231,\n                                            \"column\": 9\n                                          },\n                                          \"end\": {\n                                            \"line\": 231,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"_bvh_padding\"\n                                        },\n                                        \"name\": \"_bvh_padding\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"right\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 7325,\n                                      \"end\": 7337,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 231,\n                                          \"column\": 24\n                                        },\n                                        \"end\": {\n                                          \"line\": 231,\n                                          \"column\": 36\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7325,\n                                        \"end\": 7329,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 231,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 231,\n                                            \"column\": 28\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7330,\n                                        \"end\": 7337,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 231,\n                                            \"column\": 29\n                                          },\n                                          \"end\": {\n                                            \"line\": 231,\n                                            \"column\": 36\n                                          },\n                                          \"identifierName\": \"padding\"\n                                        },\n                                        \"name\": \"padding\"\n                                      },\n                                      \"computed\": false\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 7343,\n                                  \"end\": 7357,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 232,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 232,\n                                      \"column\": 18\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 7343,\n                                    \"end\": 7356,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 232,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 232,\n                                        \"column\": 17\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7343,\n                                      \"end\": 7349,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 232,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 232,\n                                          \"column\": 10\n                                        },\n                                        \"identifierName\": \"update\"\n                                      },\n                                      \"name\": \"update\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"BooleanLiteral\",\n                                      \"start\": 7352,\n                                      \"end\": 7356,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 232,\n                                          \"column\": 13\n                                        },\n                                        \"end\": {\n                                          \"line\": 232,\n                                          \"column\": 17\n                                        }\n                                      },\n                                      \"value\": true\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 7367,\n                            \"end\": 8166,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 235,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 260,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"UnaryExpression\",\n                              \"start\": 7370,\n                              \"end\": 7377,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 235,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 235,\n                                  \"column\": 13\n                                }\n                              },\n                              \"operator\": \"!\",\n                              \"prefix\": true,\n                              \"argument\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 7371,\n                                \"end\": 7377,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 235,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 235,\n                                    \"column\": 13\n                                  },\n                                  \"identifierName\": \"update\"\n                                },\n                                \"name\": \"update\"\n                              },\n                              \"extra\": {\n                                \"parenthesizedArgument\": false\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 7379,\n                              \"end\": 8166,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 235,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 260,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7385,\n                                  \"end\": 7415,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 236,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 236,\n                                      \"column\": 34\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7391,\n                                      \"end\": 7414,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 236,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 236,\n                                          \"column\": 33\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7391,\n                                        \"end\": 7398,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 236,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 236,\n                                            \"column\": 17\n                                          },\n                                          \"identifierName\": \"polygon\"\n                                        },\n                                        \"name\": \"polygon\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 7401,\n                                        \"end\": 7414,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 236,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 236,\n                                            \"column\": 33\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7401,\n                                          \"end\": 7405,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 236,\n                                              \"column\": 20\n                                            },\n                                            \"end\": {\n                                              \"line\": 236,\n                                              \"column\": 24\n                                            },\n                                            \"identifierName\": \"body\"\n                                          },\n                                          \"name\": \"body\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7406,\n                                          \"end\": 7414,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 236,\n                                              \"column\": 25\n                                            },\n                                            \"end\": {\n                                              \"line\": 236,\n                                              \"column\": 33\n                                            },\n                                            \"identifierName\": \"_polygon\"\n                                          },\n                                          \"name\": \"_polygon\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"IfStatement\",\n                                  \"start\": 7421,\n                                  \"end\": 7707,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 238,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 249,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7424,\n                                    \"end\": 7431,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 238,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 238,\n                                        \"column\": 14\n                                      },\n                                      \"identifierName\": \"polygon\"\n                                    },\n                                    \"name\": \"polygon\"\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 7433,\n                                    \"end\": 7707,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 238,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 249,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"IfStatement\",\n                                        \"start\": 7440,\n                                        \"end\": 7701,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 239,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 248,\n                                            \"column\": 6\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"LogicalExpression\",\n                                          \"start\": 7450,\n                                          \"end\": 7654,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 240,\n                                              \"column\": 6\n                                            },\n                                            \"end\": {\n                                              \"line\": 245,\n                                              \"column\": 36\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"LogicalExpression\",\n                                            \"start\": 7450,\n                                            \"end\": 7614,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 240,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 244,\n                                                \"column\": 36\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"LogicalExpression\",\n                                              \"start\": 7450,\n                                              \"end\": 7574,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 240,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 243,\n                                                  \"column\": 34\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"LogicalExpression\",\n                                                \"start\": 7450,\n                                                \"end\": 7536,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 240,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 242,\n                                                    \"column\": 30\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"LogicalExpression\",\n                                                  \"start\": 7450,\n                                                  \"end\": 7502,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 240,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 241,\n                                                      \"column\": 30\n                                                    }\n                                                  },\n                                                  \"left\": {\n                                                    \"type\": \"MemberExpression\",\n                                                    \"start\": 7450,\n                                                    \"end\": 7468,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 240,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 240,\n                                                        \"column\": 24\n                                                      }\n                                                    },\n                                                    \"object\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 7450,\n                                                      \"end\": 7454,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 240,\n                                                          \"column\": 6\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 240,\n                                                          \"column\": 10\n                                                        },\n                                                        \"identifierName\": \"body\"\n                                                      },\n                                                      \"name\": \"body\"\n                                                    },\n                                                    \"property\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 7455,\n                                                      \"end\": 7468,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 240,\n                                                          \"column\": 11\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 240,\n                                                          \"column\": 24\n                                                        },\n                                                        \"identifierName\": \"_dirty_coords\"\n                                                      },\n                                                      \"name\": \"_dirty_coords\"\n                                                    },\n                                                    \"computed\": false\n                                                  },\n                                                  \"operator\": \"||\",\n                                                  \"right\": {\n                                                    \"type\": \"BinaryExpression\",\n                                                    \"start\": 7478,\n                                                    \"end\": 7502,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 241,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 241,\n                                                        \"column\": 30\n                                                      }\n                                                    },\n                                                    \"left\": {\n                                                      \"type\": \"MemberExpression\",\n                                                      \"start\": 7478,\n                                                      \"end\": 7484,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 241,\n                                                          \"column\": 6\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 241,\n                                                          \"column\": 12\n                                                        }\n                                                      },\n                                                      \"object\": {\n                                                        \"type\": \"Identifier\",\n                                                        \"start\": 7478,\n                                                        \"end\": 7482,\n                                                        \"loc\": {\n                                                          \"start\": {\n                                                            \"line\": 241,\n                                                            \"column\": 6\n                                                          },\n                                                          \"end\": {\n                                                            \"line\": 241,\n                                                            \"column\": 10\n                                                          },\n                                                          \"identifierName\": \"body\"\n                                                        },\n                                                        \"name\": \"body\"\n                                                      },\n                                                      \"property\": {\n                                                        \"type\": \"Identifier\",\n                                                        \"start\": 7483,\n                                                        \"end\": 7484,\n                                                        \"loc\": {\n                                                          \"start\": {\n                                                            \"line\": 241,\n                                                            \"column\": 11\n                                                          },\n                                                          \"end\": {\n                                                            \"line\": 241,\n                                                            \"column\": 12\n                                                          },\n                                                          \"identifierName\": \"x\"\n                                                        },\n                                                        \"name\": \"x\"\n                                                      },\n                                                      \"computed\": false\n                                                    },\n                                                    \"operator\": \"!==\",\n                                                    \"right\": {\n                                                      \"type\": \"MemberExpression\",\n                                                      \"start\": 7495,\n                                                      \"end\": 7502,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 241,\n                                                          \"column\": 23\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 241,\n                                                          \"column\": 30\n                                                        }\n                                                      },\n                                                      \"object\": {\n                                                        \"type\": \"Identifier\",\n                                                        \"start\": 7495,\n                                                        \"end\": 7499,\n                                                        \"loc\": {\n                                                          \"start\": {\n                                                            \"line\": 241,\n                                                            \"column\": 23\n                                                          },\n                                                          \"end\": {\n                                                            \"line\": 241,\n                                                            \"column\": 27\n                                                          },\n                                                          \"identifierName\": \"body\"\n                                                        },\n                                                        \"name\": \"body\"\n                                                      },\n                                                      \"property\": {\n                                                        \"type\": \"Identifier\",\n                                                        \"start\": 7500,\n                                                        \"end\": 7502,\n                                                        \"loc\": {\n                                                          \"start\": {\n                                                            \"line\": 241,\n                                                            \"column\": 28\n                                                          },\n                                                          \"end\": {\n                                                            \"line\": 241,\n                                                            \"column\": 30\n                                                          },\n                                                          \"identifierName\": \"_x\"\n                                                        },\n                                                        \"name\": \"_x\"\n                                                      },\n                                                      \"computed\": false\n                                                    }\n                                                  }\n                                                },\n                                                \"operator\": \"||\",\n                                                \"right\": {\n                                                  \"type\": \"BinaryExpression\",\n                                                  \"start\": 7512,\n                                                  \"end\": 7536,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 242,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 242,\n                                                      \"column\": 30\n                                                    }\n                                                  },\n                                                  \"left\": {\n                                                    \"type\": \"MemberExpression\",\n                                                    \"start\": 7512,\n                                                    \"end\": 7518,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 242,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 242,\n                                                        \"column\": 12\n                                                      }\n                                                    },\n                                                    \"object\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 7512,\n                                                      \"end\": 7516,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 242,\n                                                          \"column\": 6\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 242,\n                                                          \"column\": 10\n                                                        },\n                                                        \"identifierName\": \"body\"\n                                                      },\n                                                      \"name\": \"body\"\n                                                    },\n                                                    \"property\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 7517,\n                                                      \"end\": 7518,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 242,\n                                                          \"column\": 11\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 242,\n                                                          \"column\": 12\n                                                        },\n                                                        \"identifierName\": \"y\"\n                                                      },\n                                                      \"name\": \"y\"\n                                                    },\n                                                    \"computed\": false\n                                                  },\n                                                  \"operator\": \"!==\",\n                                                  \"right\": {\n                                                    \"type\": \"MemberExpression\",\n                                                    \"start\": 7529,\n                                                    \"end\": 7536,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 242,\n                                                        \"column\": 23\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 242,\n                                                        \"column\": 30\n                                                      }\n                                                    },\n                                                    \"object\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 7529,\n                                                      \"end\": 7533,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 242,\n                                                          \"column\": 23\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 242,\n                                                          \"column\": 27\n                                                        },\n                                                        \"identifierName\": \"body\"\n                                                      },\n                                                      \"name\": \"body\"\n                                                    },\n                                                    \"property\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 7534,\n                                                      \"end\": 7536,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 242,\n                                                          \"column\": 28\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 242,\n                                                          \"column\": 30\n                                                        },\n                                                        \"identifierName\": \"_y\"\n                                                      },\n                                                      \"name\": \"_y\"\n                                                    },\n                                                    \"computed\": false\n                                                  }\n                                                }\n                                              },\n                                              \"operator\": \"||\",\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 7546,\n                                                \"end\": 7574,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 243,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 243,\n                                                    \"column\": 34\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 7546,\n                                                  \"end\": 7556,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 243,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 243,\n                                                      \"column\": 16\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 7546,\n                                                    \"end\": 7550,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 243,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 243,\n                                                        \"column\": 10\n                                                      },\n                                                      \"identifierName\": \"body\"\n                                                    },\n                                                    \"name\": \"body\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 7551,\n                                                    \"end\": 7556,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 243,\n                                                        \"column\": 11\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 243,\n                                                        \"column\": 16\n                                                      },\n                                                      \"identifierName\": \"angle\"\n                                                    },\n                                                    \"name\": \"angle\"\n                                                  },\n                                                  \"computed\": false\n                                                },\n                                                \"operator\": \"!==\",\n                                                \"right\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 7563,\n                                                  \"end\": 7574,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 243,\n                                                      \"column\": 23\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 243,\n                                                      \"column\": 34\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 7563,\n                                                    \"end\": 7567,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 243,\n                                                        \"column\": 23\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 243,\n                                                        \"column\": 27\n                                                      },\n                                                      \"identifierName\": \"body\"\n                                                    },\n                                                    \"name\": \"body\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 7568,\n                                                    \"end\": 7574,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 243,\n                                                        \"column\": 28\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 243,\n                                                        \"column\": 34\n                                                      },\n                                                      \"identifierName\": \"_angle\"\n                                                    },\n                                                    \"name\": \"_angle\"\n                                                  },\n                                                  \"computed\": false\n                                                }\n                                              }\n                                            },\n                                            \"operator\": \"||\",\n                                            \"right\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 7584,\n                                              \"end\": 7614,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 244,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 244,\n                                                  \"column\": 36\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"MemberExpression\",\n                                                \"start\": 7584,\n                                                \"end\": 7596,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 244,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 244,\n                                                    \"column\": 18\n                                                  }\n                                                },\n                                                \"object\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 7584,\n                                                  \"end\": 7588,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 244,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 244,\n                                                      \"column\": 10\n                                                    },\n                                                    \"identifierName\": \"body\"\n                                                  },\n                                                  \"name\": \"body\"\n                                                },\n                                                \"property\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 7589,\n                                                  \"end\": 7596,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 244,\n                                                      \"column\": 11\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 244,\n                                                      \"column\": 18\n                                                    },\n                                                    \"identifierName\": \"scale_x\"\n                                                  },\n                                                  \"name\": \"scale_x\"\n                                                },\n                                                \"computed\": false\n                                              },\n                                              \"operator\": \"!==\",\n                                              \"right\": {\n                                                \"type\": \"MemberExpression\",\n                                                \"start\": 7601,\n                                                \"end\": 7614,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 244,\n                                                    \"column\": 23\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 244,\n                                                    \"column\": 36\n                                                  }\n                                                },\n                                                \"object\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 7601,\n                                                  \"end\": 7605,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 244,\n                                                      \"column\": 23\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 244,\n                                                      \"column\": 27\n                                                    },\n                                                    \"identifierName\": \"body\"\n                                                  },\n                                                  \"name\": \"body\"\n                                                },\n                                                \"property\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 7606,\n                                                  \"end\": 7614,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 244,\n                                                      \"column\": 28\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 244,\n                                                      \"column\": 36\n                                                    },\n                                                    \"identifierName\": \"_scale_x\"\n                                                  },\n                                                  \"name\": \"_scale_x\"\n                                                },\n                                                \"computed\": false\n                                              }\n                                            }\n                                          },\n                                          \"operator\": \"||\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 7624,\n                                            \"end\": 7654,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 245,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 245,\n                                                \"column\": 36\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 7624,\n                                              \"end\": 7636,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 245,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 245,\n                                                  \"column\": 18\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 7624,\n                                                \"end\": 7628,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 245,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 245,\n                                                    \"column\": 10\n                                                  },\n                                                  \"identifierName\": \"body\"\n                                                },\n                                                \"name\": \"body\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 7629,\n                                                \"end\": 7636,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 245,\n                                                    \"column\": 11\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 245,\n                                                    \"column\": 18\n                                                  },\n                                                  \"identifierName\": \"scale_y\"\n                                                },\n                                                \"name\": \"scale_y\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"operator\": \"!==\",\n                                            \"right\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 7641,\n                                              \"end\": 7654,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 245,\n                                                  \"column\": 23\n                                                },\n                                                \"end\": {\n                                                  \"line\": 245,\n                                                  \"column\": 36\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 7641,\n                                                \"end\": 7645,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 245,\n                                                    \"column\": 23\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 245,\n                                                    \"column\": 27\n                                                  },\n                                                  \"identifierName\": \"body\"\n                                                },\n                                                \"name\": \"body\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 7646,\n                                                \"end\": 7654,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 245,\n                                                    \"column\": 28\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 245,\n                                                    \"column\": 36\n                                                  },\n                                                  \"identifierName\": \"_scale_y\"\n                                                },\n                                                \"name\": \"_scale_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"BlockStatement\",\n                                          \"start\": 7662,\n                                          \"end\": 7701,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 246,\n                                              \"column\": 7\n                                            },\n                                            \"end\": {\n                                              \"line\": 248,\n                                              \"column\": 6\n                                            }\n                                          },\n                                          \"body\": [\n                                            {\n                                              \"type\": \"ExpressionStatement\",\n                                              \"start\": 7670,\n                                              \"end\": 7694,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 247,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 247,\n                                                  \"column\": 30\n                                                }\n                                              },\n                                              \"expression\": {\n                                                \"type\": \"CallExpression\",\n                                                \"start\": 7670,\n                                                \"end\": 7693,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 247,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 247,\n                                                    \"column\": 29\n                                                  }\n                                                },\n                                                \"callee\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 7670,\n                                                  \"end\": 7691,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 247,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 247,\n                                                      \"column\": 27\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 7670,\n                                                    \"end\": 7674,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 247,\n                                                        \"column\": 6\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 247,\n                                                        \"column\": 10\n                                                      },\n                                                      \"identifierName\": \"body\"\n                                                    },\n                                                    \"name\": \"body\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 7675,\n                                                    \"end\": 7691,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 247,\n                                                        \"column\": 11\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 247,\n                                                        \"column\": 27\n                                                      },\n                                                      \"identifierName\": \"_calculateCoords\"\n                                                    },\n                                                    \"name\": \"_calculateCoords\"\n                                                  },\n                                                  \"computed\": false\n                                                },\n                                                \"arguments\": []\n                                              }\n                                            }\n                                          ],\n                                          \"directives\": []\n                                        },\n                                        \"alternate\": null\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  },\n                                  \"alternate\": null\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7713,\n                                  \"end\": 7735,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 251,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 251,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7719,\n                                      \"end\": 7734,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 251,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 251,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7719,\n                                        \"end\": 7720,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 251,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 251,\n                                            \"column\": 11\n                                          },\n                                          \"identifierName\": \"x\"\n                                        },\n                                        \"name\": \"x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 7728,\n                                        \"end\": 7734,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 251,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 251,\n                                            \"column\": 25\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7728,\n                                          \"end\": 7732,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 251,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 251,\n                                              \"column\": 23\n                                            },\n                                            \"identifierName\": \"body\"\n                                          },\n                                          \"name\": \"body\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7733,\n                                          \"end\": 7734,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 251,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 251,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"x\"\n                                          },\n                                          \"name\": \"x\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7740,\n                                  \"end\": 7762,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 252,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 252,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7746,\n                                      \"end\": 7761,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 252,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 252,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7746,\n                                        \"end\": 7747,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 252,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 252,\n                                            \"column\": 11\n                                          },\n                                          \"identifierName\": \"y\"\n                                        },\n                                        \"name\": \"y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 7755,\n                                        \"end\": 7761,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 252,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 252,\n                                            \"column\": 25\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7755,\n                                          \"end\": 7759,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 252,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 252,\n                                              \"column\": 23\n                                            },\n                                            \"identifierName\": \"body\"\n                                          },\n                                          \"name\": \"body\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7760,\n                                          \"end\": 7761,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 252,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 252,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"y\"\n                                          },\n                                          \"name\": \"y\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7767,\n                                  \"end\": 7821,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 253,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 253,\n                                      \"column\": 58\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7773,\n                                      \"end\": 7820,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 253,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 253,\n                                          \"column\": 57\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7773,\n                                        \"end\": 7779,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 253,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 253,\n                                            \"column\": 16\n                                          },\n                                          \"identifierName\": \"radius\"\n                                        },\n                                        \"name\": \"radius\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 7782,\n                                        \"end\": 7820,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 253,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 253,\n                                            \"column\": 57\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7782,\n                                          \"end\": 7789,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 253,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 253,\n                                              \"column\": 26\n                                            },\n                                            \"identifierName\": \"polygon\"\n                                          },\n                                          \"name\": \"polygon\"\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 7792,\n                                          \"end\": 7793,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 253,\n                                              \"column\": 29\n                                            },\n                                            \"end\": {\n                                              \"line\": 253,\n                                              \"column\": 30\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 0,\n                                            \"raw\": \"0\"\n                                          },\n                                          \"value\": 0\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 7796,\n                                          \"end\": 7820,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 253,\n                                              \"column\": 33\n                                            },\n                                            \"end\": {\n                                              \"line\": 253,\n                                              \"column\": 57\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 7796,\n                                            \"end\": 7807,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 253,\n                                                \"column\": 33\n                                              },\n                                              \"end\": {\n                                                \"line\": 253,\n                                                \"column\": 44\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 7796,\n                                              \"end\": 7800,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 253,\n                                                  \"column\": 33\n                                                },\n                                                \"end\": {\n                                                  \"line\": 253,\n                                                  \"column\": 37\n                                                },\n                                                \"identifierName\": \"body\"\n                                              },\n                                              \"name\": \"body\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 7801,\n                                              \"end\": 7807,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 253,\n                                                  \"column\": 38\n                                                },\n                                                \"end\": {\n                                                  \"line\": 253,\n                                                  \"column\": 44\n                                                },\n                                                \"identifierName\": \"radius\"\n                                              },\n                                              \"name\": \"radius\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"operator\": \"*\",\n                                          \"right\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 7810,\n                                            \"end\": 7820,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 253,\n                                                \"column\": 47\n                                              },\n                                              \"end\": {\n                                                \"line\": 253,\n                                                \"column\": 57\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 7810,\n                                              \"end\": 7814,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 253,\n                                                  \"column\": 47\n                                                },\n                                                \"end\": {\n                                                  \"line\": 253,\n                                                  \"column\": 51\n                                                },\n                                                \"identifierName\": \"body\"\n                                              },\n                                              \"name\": \"body\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 7815,\n                                              \"end\": 7820,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 253,\n                                                  \"column\": 52\n                                                },\n                                                \"end\": {\n                                                  \"line\": 253,\n                                                  \"column\": 57\n                                                },\n                                                \"identifierName\": \"scale\"\n                                              },\n                                              \"name\": \"scale\"\n                                            },\n                                            \"computed\": false\n                                          }\n                                        }\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7826,\n                                  \"end\": 7876,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 254,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 254,\n                                      \"column\": 54\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7832,\n                                      \"end\": 7875,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 254,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 254,\n                                          \"column\": 53\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7832,\n                                        \"end\": 7837,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 254,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 254,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"min_x\"\n                                        },\n                                        \"name\": \"min_x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 7841,\n                                        \"end\": 7875,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 254,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 254,\n                                            \"column\": 53\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7841,\n                                          \"end\": 7848,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 254,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 254,\n                                              \"column\": 26\n                                            },\n                                            \"identifierName\": \"polygon\"\n                                          },\n                                          \"name\": \"polygon\"\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 7851,\n                                          \"end\": 7862,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 254,\n                                              \"column\": 29\n                                            },\n                                            \"end\": {\n                                              \"line\": 254,\n                                              \"column\": 40\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7851,\n                                            \"end\": 7855,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 254,\n                                                \"column\": 29\n                                              },\n                                              \"end\": {\n                                                \"line\": 254,\n                                                \"column\": 33\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7856,\n                                            \"end\": 7862,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 254,\n                                                \"column\": 34\n                                              },\n                                              \"end\": {\n                                                \"line\": 254,\n                                                \"column\": 40\n                                              },\n                                              \"identifierName\": \"_min_x\"\n                                            },\n                                            \"name\": \"_min_x\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 7865,\n                                          \"end\": 7875,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 254,\n                                              \"column\": 43\n                                            },\n                                            \"end\": {\n                                              \"line\": 254,\n                                              \"column\": 53\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7865,\n                                            \"end\": 7866,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 254,\n                                                \"column\": 43\n                                              },\n                                              \"end\": {\n                                                \"line\": 254,\n                                                \"column\": 44\n                                              },\n                                              \"identifierName\": \"x\"\n                                            },\n                                            \"name\": \"x\"\n                                          },\n                                          \"operator\": \"-\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7869,\n                                            \"end\": 7875,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 254,\n                                                \"column\": 47\n                                              },\n                                              \"end\": {\n                                                \"line\": 254,\n                                                \"column\": 53\n                                              },\n                                              \"identifierName\": \"radius\"\n                                            },\n                                            \"name\": \"radius\"\n                                          }\n                                        }\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7881,\n                                  \"end\": 7931,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 255,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 255,\n                                      \"column\": 54\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7887,\n                                      \"end\": 7930,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 255,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 255,\n                                          \"column\": 53\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7887,\n                                        \"end\": 7892,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 255,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 255,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"min_y\"\n                                        },\n                                        \"name\": \"min_y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 7896,\n                                        \"end\": 7930,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 255,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 255,\n                                            \"column\": 53\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7896,\n                                          \"end\": 7903,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 255,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 255,\n                                              \"column\": 26\n                                            },\n                                            \"identifierName\": \"polygon\"\n                                          },\n                                          \"name\": \"polygon\"\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 7906,\n                                          \"end\": 7917,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 255,\n                                              \"column\": 29\n                                            },\n                                            \"end\": {\n                                              \"line\": 255,\n                                              \"column\": 40\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7906,\n                                            \"end\": 7910,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 255,\n                                                \"column\": 29\n                                              },\n                                              \"end\": {\n                                                \"line\": 255,\n                                                \"column\": 33\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7911,\n                                            \"end\": 7917,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 255,\n                                                \"column\": 34\n                                              },\n                                              \"end\": {\n                                                \"line\": 255,\n                                                \"column\": 40\n                                              },\n                                              \"identifierName\": \"_min_y\"\n                                            },\n                                            \"name\": \"_min_y\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 7920,\n                                          \"end\": 7930,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 255,\n                                              \"column\": 43\n                                            },\n                                            \"end\": {\n                                              \"line\": 255,\n                                              \"column\": 53\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7920,\n                                            \"end\": 7921,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 255,\n                                                \"column\": 43\n                                              },\n                                              \"end\": {\n                                                \"line\": 255,\n                                                \"column\": 44\n                                              },\n                                              \"identifierName\": \"y\"\n                                            },\n                                            \"name\": \"y\"\n                                          },\n                                          \"operator\": \"-\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7924,\n                                            \"end\": 7930,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 255,\n                                                \"column\": 47\n                                              },\n                                              \"end\": {\n                                                \"line\": 255,\n                                                \"column\": 53\n                                              },\n                                              \"identifierName\": \"radius\"\n                                            },\n                                            \"name\": \"radius\"\n                                          }\n                                        }\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7936,\n                                  \"end\": 7986,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 256,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 256,\n                                      \"column\": 54\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7942,\n                                      \"end\": 7985,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 256,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 256,\n                                          \"column\": 53\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7942,\n                                        \"end\": 7947,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 256,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 256,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"max_x\"\n                                        },\n                                        \"name\": \"max_x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 7951,\n                                        \"end\": 7985,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 256,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 256,\n                                            \"column\": 53\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7951,\n                                          \"end\": 7958,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 256,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 256,\n                                              \"column\": 26\n                                            },\n                                            \"identifierName\": \"polygon\"\n                                          },\n                                          \"name\": \"polygon\"\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 7961,\n                                          \"end\": 7972,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 256,\n                                              \"column\": 29\n                                            },\n                                            \"end\": {\n                                              \"line\": 256,\n                                              \"column\": 40\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7961,\n                                            \"end\": 7965,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 256,\n                                                \"column\": 29\n                                              },\n                                              \"end\": {\n                                                \"line\": 256,\n                                                \"column\": 33\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7966,\n                                            \"end\": 7972,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 256,\n                                                \"column\": 34\n                                              },\n                                              \"end\": {\n                                                \"line\": 256,\n                                                \"column\": 40\n                                              },\n                                              \"identifierName\": \"_max_x\"\n                                            },\n                                            \"name\": \"_max_x\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 7975,\n                                          \"end\": 7985,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 256,\n                                              \"column\": 43\n                                            },\n                                            \"end\": {\n                                              \"line\": 256,\n                                              \"column\": 53\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7975,\n                                            \"end\": 7976,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 256,\n                                                \"column\": 43\n                                              },\n                                              \"end\": {\n                                                \"line\": 256,\n                                                \"column\": 44\n                                              },\n                                              \"identifierName\": \"x\"\n                                            },\n                                            \"name\": \"x\"\n                                          },\n                                          \"operator\": \"+\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7979,\n                                            \"end\": 7985,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 256,\n                                                \"column\": 47\n                                              },\n                                              \"end\": {\n                                                \"line\": 256,\n                                                \"column\": 53\n                                              },\n                                              \"identifierName\": \"radius\"\n                                            },\n                                            \"name\": \"radius\"\n                                          }\n                                        }\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 7991,\n                                  \"end\": 8041,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 257,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 257,\n                                      \"column\": 54\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 7997,\n                                      \"end\": 8040,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 257,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 257,\n                                          \"column\": 53\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7997,\n                                        \"end\": 8002,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 257,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 257,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"max_y\"\n                                        },\n                                        \"name\": \"max_y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 8006,\n                                        \"end\": 8040,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 257,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 257,\n                                            \"column\": 53\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 8006,\n                                          \"end\": 8013,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 257,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 257,\n                                              \"column\": 26\n                                            },\n                                            \"identifierName\": \"polygon\"\n                                          },\n                                          \"name\": \"polygon\"\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 8016,\n                                          \"end\": 8027,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 257,\n                                              \"column\": 29\n                                            },\n                                            \"end\": {\n                                              \"line\": 257,\n                                              \"column\": 40\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8016,\n                                            \"end\": 8020,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 257,\n                                                \"column\": 29\n                                              },\n                                              \"end\": {\n                                                \"line\": 257,\n                                                \"column\": 33\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8021,\n                                            \"end\": 8027,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 257,\n                                                \"column\": 34\n                                              },\n                                              \"end\": {\n                                                \"line\": 257,\n                                                \"column\": 40\n                                              },\n                                              \"identifierName\": \"_max_y\"\n                                            },\n                                            \"name\": \"_max_y\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 8030,\n                                          \"end\": 8040,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 257,\n                                              \"column\": 43\n                                            },\n                                            \"end\": {\n                                              \"line\": 257,\n                                              \"column\": 53\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8030,\n                                            \"end\": 8031,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 257,\n                                                \"column\": 43\n                                              },\n                                              \"end\": {\n                                                \"line\": 257,\n                                                \"column\": 44\n                                              },\n                                              \"identifierName\": \"y\"\n                                            },\n                                            \"name\": \"y\"\n                                          },\n                                          \"operator\": \"+\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8034,\n                                            \"end\": 8040,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 257,\n                                                \"column\": 47\n                                              },\n                                              \"end\": {\n                                                \"line\": 257,\n                                                \"column\": 53\n                                              },\n                                              \"identifierName\": \"radius\"\n                                            },\n                                            \"name\": \"radius\"\n                                          }\n                                        }\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 8047,\n                                  \"end\": 8161,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 259,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 259,\n                                      \"column\": 118\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 8047,\n                                    \"end\": 8160,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 259,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 259,\n                                        \"column\": 117\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 8047,\n                                      \"end\": 8053,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 259,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 259,\n                                          \"column\": 10\n                                        },\n                                        \"identifierName\": \"update\"\n                                      },\n                                      \"name\": \"update\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"LogicalExpression\",\n                                      \"start\": 8056,\n                                      \"end\": 8160,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 259,\n                                          \"column\": 13\n                                        },\n                                        \"end\": {\n                                          \"line\": 259,\n                                          \"column\": 117\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"LogicalExpression\",\n                                        \"start\": 8056,\n                                        \"end\": 8133,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 259,\n                                            \"column\": 13\n                                          },\n                                          \"end\": {\n                                            \"line\": 259,\n                                            \"column\": 90\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"LogicalExpression\",\n                                          \"start\": 8056,\n                                          \"end\": 8106,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 259,\n                                              \"column\": 13\n                                            },\n                                            \"end\": {\n                                              \"line\": 259,\n                                              \"column\": 63\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 8056,\n                                            \"end\": 8079,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 13\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 36\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 8056,\n                                              \"end\": 8061,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 18\n                                                },\n                                                \"identifierName\": \"min_x\"\n                                              },\n                                              \"name\": \"min_x\"\n                                            },\n                                            \"operator\": \"<\",\n                                            \"right\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 8064,\n                                              \"end\": 8079,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 21\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 36\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 8064,\n                                                \"end\": 8068,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 259,\n                                                    \"column\": 21\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 259,\n                                                    \"column\": 25\n                                                  },\n                                                  \"identifierName\": \"body\"\n                                                },\n                                                \"name\": \"body\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 8069,\n                                                \"end\": 8079,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 259,\n                                                    \"column\": 26\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 259,\n                                                    \"column\": 36\n                                                  },\n                                                  \"identifierName\": \"_bvh_min_x\"\n                                                },\n                                                \"name\": \"_bvh_min_x\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          },\n                                          \"operator\": \"||\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 8083,\n                                            \"end\": 8106,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 40\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 63\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 8083,\n                                              \"end\": 8088,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 40\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 45\n                                                },\n                                                \"identifierName\": \"min_y\"\n                                              },\n                                              \"name\": \"min_y\"\n                                            },\n                                            \"operator\": \"<\",\n                                            \"right\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 8091,\n                                              \"end\": 8106,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 48\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 63\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 8091,\n                                                \"end\": 8095,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 259,\n                                                    \"column\": 48\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 259,\n                                                    \"column\": 52\n                                                  },\n                                                  \"identifierName\": \"body\"\n                                                },\n                                                \"name\": \"body\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 8096,\n                                                \"end\": 8106,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 259,\n                                                    \"column\": 53\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 259,\n                                                    \"column\": 63\n                                                  },\n                                                  \"identifierName\": \"_bvh_min_y\"\n                                                },\n                                                \"name\": \"_bvh_min_y\"\n                                              },\n                                              \"computed\": false\n                                            }\n                                          }\n                                        },\n                                        \"operator\": \"||\",\n                                        \"right\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 8110,\n                                          \"end\": 8133,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 259,\n                                              \"column\": 67\n                                            },\n                                            \"end\": {\n                                              \"line\": 259,\n                                              \"column\": 90\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8110,\n                                            \"end\": 8115,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 67\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 72\n                                              },\n                                              \"identifierName\": \"max_x\"\n                                            },\n                                            \"name\": \"max_x\"\n                                          },\n                                          \"operator\": \">\",\n                                          \"right\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 8118,\n                                            \"end\": 8133,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 75\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 90\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 8118,\n                                              \"end\": 8122,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 75\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 79\n                                                },\n                                                \"identifierName\": \"body\"\n                                              },\n                                              \"name\": \"body\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 8123,\n                                              \"end\": 8133,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 80\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 90\n                                                },\n                                                \"identifierName\": \"_bvh_max_x\"\n                                              },\n                                              \"name\": \"_bvh_max_x\"\n                                            },\n                                            \"computed\": false\n                                          }\n                                        }\n                                      },\n                                      \"operator\": \"||\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 8137,\n                                        \"end\": 8160,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 259,\n                                            \"column\": 94\n                                          },\n                                          \"end\": {\n                                            \"line\": 259,\n                                            \"column\": 117\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 8137,\n                                          \"end\": 8142,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 259,\n                                              \"column\": 94\n                                            },\n                                            \"end\": {\n                                              \"line\": 259,\n                                              \"column\": 99\n                                            },\n                                            \"identifierName\": \"max_y\"\n                                          },\n                                          \"name\": \"max_y\"\n                                        },\n                                        \"operator\": \">\",\n                                        \"right\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 8145,\n                                          \"end\": 8160,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 259,\n                                              \"column\": 102\n                                            },\n                                            \"end\": {\n                                              \"line\": 259,\n                                              \"column\": 117\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8145,\n                                            \"end\": 8149,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 102\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 106\n                                              },\n                                              \"identifierName\": \"body\"\n                                            },\n                                            \"name\": \"body\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8150,\n                                            \"end\": 8160,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 107\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 117\n                                              },\n                                              \"identifierName\": \"_bvh_max_y\"\n                                            },\n                                            \"name\": \"_bvh_max_y\"\n                                          },\n                                          \"computed\": false\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 8171,\n                            \"end\": 8246,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 262,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 265,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8174,\n                              \"end\": 8180,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 262,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 262,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"update\"\n                              },\n                              \"name\": \"update\"\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 8182,\n                              \"end\": 8246,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 262,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 265,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 8188,\n                                  \"end\": 8212,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 263,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 263,\n                                      \"column\": 28\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"CallExpression\",\n                                    \"start\": 8188,\n                                    \"end\": 8211,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 263,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 263,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 8188,\n                                      \"end\": 8199,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 263,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 263,\n                                          \"column\": 15\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"ThisExpression\",\n                                        \"start\": 8188,\n                                        \"end\": 8192,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 263,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 263,\n                                            \"column\": 8\n                                          }\n                                        }\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 8193,\n                                        \"end\": 8199,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 263,\n                                            \"column\": 9\n                                          },\n                                          \"end\": {\n                                            \"line\": 263,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"remove\"\n                                        },\n                                        \"name\": \"remove\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"arguments\": [\n                                      {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 8200,\n                                        \"end\": 8204,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 263,\n                                            \"column\": 16\n                                          },\n                                          \"end\": {\n                                            \"line\": 263,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      },\n                                      {\n                                        \"type\": \"BooleanLiteral\",\n                                        \"start\": 8206,\n                                        \"end\": 8210,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 263,\n                                            \"column\": 22\n                                          },\n                                          \"end\": {\n                                            \"line\": 263,\n                                            \"column\": 26\n                                          }\n                                        },\n                                        \"value\": true\n                                      }\n                                    ]\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 8217,\n                                  \"end\": 8241,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 264,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 264,\n                                      \"column\": 28\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"CallExpression\",\n                                    \"start\": 8217,\n                                    \"end\": 8240,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 264,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 264,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 8217,\n                                      \"end\": 8228,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 264,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 264,\n                                          \"column\": 15\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"ThisExpression\",\n                                        \"start\": 8217,\n                                        \"end\": 8221,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 264,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 264,\n                                            \"column\": 8\n                                          }\n                                        }\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 8222,\n                                        \"end\": 8228,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 264,\n                                            \"column\": 9\n                                          },\n                                          \"end\": {\n                                            \"line\": 264,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"insert\"\n                                        },\n                                        \"name\": \"insert\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"arguments\": [\n                                      {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 8229,\n                                        \"end\": 8233,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 264,\n                                            \"column\": 16\n                                          },\n                                          \"end\": {\n                                            \"line\": 264,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      },\n                                      {\n                                        \"type\": \"BooleanLiteral\",\n                                        \"start\": 8235,\n                                        \"end\": 8239,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 264,\n                                            \"column\": 22\n                                          },\n                                          \"end\": {\n                                            \"line\": 264,\n                                            \"column\": 26\n                                          }\n                                        },\n                                        \"value\": true\n                                      }\n                                    ]\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Updates the BVH. Moved bodies are removed/inserted.\\n\\t \",\n                    \"start\": 7018,\n                    \"end\": 7082,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 218,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 220,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test\\n\\t * @returns {Array<Body>}\\n\\t \",\n                    \"start\": 8256,\n                    \"end\": 8401,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 269,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 273,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 8403,\n                \"end\": 9763,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 274,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 341,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 8403,\n                  \"end\": 8413,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 274,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 274,\n                      \"column\": 11\n                    },\n                    \"identifierName\": \"potentials\"\n                  },\n                  \"name\": \"potentials\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 8414,\n                    \"end\": 8418,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 274,\n                        \"column\": 12\n                      },\n                      \"end\": {\n                        \"line\": 274,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"body\"\n                    },\n                    \"name\": \"body\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 8420,\n                  \"end\": 9763,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 274,\n                      \"column\": 18\n                    },\n                    \"end\": {\n                      \"line\": 341,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 8424,\n                      \"end\": 8443,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 275,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 275,\n                          \"column\": 21\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 8430,\n                          \"end\": 8442,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 275,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 275,\n                              \"column\": 20\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8430,\n                            \"end\": 8437,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 275,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 275,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"results\"\n                            },\n                            \"name\": \"results\"\n                          },\n                          \"init\": {\n                            \"type\": \"ArrayExpression\",\n                            \"start\": 8440,\n                            \"end\": 8442,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 275,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 275,\n                                \"column\": 20\n                              }\n                            },\n                            \"elements\": []\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 8446,\n                      \"end\": 8478,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 276,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 276,\n                          \"column\": 34\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 8452,\n                          \"end\": 8477,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 276,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 276,\n                              \"column\": 33\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8452,\n                            \"end\": 8457,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 276,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 276,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"min_x\"\n                            },\n                            \"name\": \"min_x\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 8462,\n                            \"end\": 8477,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 276,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 276,\n                                \"column\": 33\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8462,\n                              \"end\": 8466,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 276,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 276,\n                                  \"column\": 22\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8467,\n                              \"end\": 8477,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 276,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 276,\n                                  \"column\": 33\n                                },\n                                \"identifierName\": \"_bvh_min_x\"\n                              },\n                              \"name\": \"_bvh_min_x\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 8481,\n                      \"end\": 8513,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 277,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 277,\n                          \"column\": 34\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 8487,\n                          \"end\": 8512,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 277,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 277,\n                              \"column\": 33\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8487,\n                            \"end\": 8492,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 277,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 277,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"min_y\"\n                            },\n                            \"name\": \"min_y\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 8497,\n                            \"end\": 8512,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 277,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 277,\n                                \"column\": 33\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8497,\n                              \"end\": 8501,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 277,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 277,\n                                  \"column\": 22\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8502,\n                              \"end\": 8512,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 277,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 277,\n                                  \"column\": 33\n                                },\n                                \"identifierName\": \"_bvh_min_y\"\n                              },\n                              \"name\": \"_bvh_min_y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 8516,\n                      \"end\": 8548,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 278,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 278,\n                          \"column\": 34\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 8522,\n                          \"end\": 8547,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 278,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 278,\n                              \"column\": 33\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8522,\n                            \"end\": 8527,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 278,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 278,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"max_x\"\n                            },\n                            \"name\": \"max_x\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 8532,\n                            \"end\": 8547,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 278,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 278,\n                                \"column\": 33\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8532,\n                              \"end\": 8536,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 278,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 278,\n                                  \"column\": 22\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8537,\n                              \"end\": 8547,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 278,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 278,\n                                  \"column\": 33\n                                },\n                                \"identifierName\": \"_bvh_max_x\"\n                              },\n                              \"name\": \"_bvh_max_x\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 8551,\n                      \"end\": 8583,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 279,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 279,\n                          \"column\": 34\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 8557,\n                          \"end\": 8582,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 279,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 279,\n                              \"column\": 33\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8557,\n                            \"end\": 8562,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 279,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 279,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"max_y\"\n                            },\n                            \"name\": \"max_y\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 8567,\n                            \"end\": 8582,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 279,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 279,\n                                \"column\": 33\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8567,\n                              \"end\": 8571,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 279,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 279,\n                                  \"column\": 22\n                                },\n                                \"identifierName\": \"body\"\n                              },\n                              \"name\": \"body\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8572,\n                              \"end\": 8582,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 279,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 279,\n                                  \"column\": 33\n                                },\n                                \"identifierName\": \"_bvh_max_y\"\n                              },\n                              \"name\": \"_bvh_max_y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 8587,\n                      \"end\": 8623,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 281,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 281,\n                          \"column\": 38\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 8591,\n                          \"end\": 8622,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 281,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 281,\n                              \"column\": 37\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8591,\n                            \"end\": 8598,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 281,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 281,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"current\"\n                            },\n                            \"name\": \"current\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 8607,\n                            \"end\": 8622,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 281,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 281,\n                                \"column\": 37\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 8607,\n                              \"end\": 8611,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 281,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 281,\n                                  \"column\": 26\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8612,\n                              \"end\": 8622,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 281,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 281,\n                                  \"column\": 37\n                                },\n                                \"identifierName\": \"_hierarchy\"\n                              },\n                              \"name\": \"_hierarchy\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 8626,\n                      \"end\": 8651,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 282,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 282,\n                          \"column\": 27\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 8630,\n                          \"end\": 8650,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 282,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 282,\n                              \"column\": 26\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8630,\n                            \"end\": 8643,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 282,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 282,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"traverse_left\"\n                            },\n                            \"name\": \"traverse_left\"\n                          },\n                          \"init\": {\n                            \"type\": \"BooleanLiteral\",\n                            \"start\": 8646,\n                            \"end\": 8650,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 282,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 282,\n                                \"column\": 26\n                              }\n                            },\n                            \"value\": true\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 8655,\n                      \"end\": 8716,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 284,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 286,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 8658,\n                        \"end\": 8690,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 284,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 284,\n                            \"column\": 37\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"UnaryExpression\",\n                          \"start\": 8658,\n                          \"end\": 8666,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 284,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 284,\n                              \"column\": 13\n                            }\n                          },\n                          \"operator\": \"!\",\n                          \"prefix\": true,\n                          \"argument\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8659,\n                            \"end\": 8666,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 284,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 284,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"current\"\n                            },\n                            \"name\": \"current\"\n                          },\n                          \"extra\": {\n                            \"parenthesizedArgument\": false\n                          }\n                        },\n                        \"operator\": \"||\",\n                        \"right\": {\n                          \"type\": \"UnaryExpression\",\n                          \"start\": 8670,\n                          \"end\": 8690,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 284,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 284,\n                              \"column\": 37\n                            }\n                          },\n                          \"operator\": \"!\",\n                          \"prefix\": true,\n                          \"argument\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 8671,\n                            \"end\": 8690,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 284,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 284,\n                                \"column\": 37\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8671,\n                              \"end\": 8678,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 284,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 284,\n                                  \"column\": 25\n                                },\n                                \"identifierName\": \"current\"\n                              },\n                              \"name\": \"current\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8679,\n                              \"end\": 8690,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 284,\n                                  \"column\": 26\n                                },\n                                \"end\": {\n                                  \"line\": 284,\n                                  \"column\": 37\n                                },\n                                \"identifierName\": \"_bvh_branch\"\n                              },\n                              \"name\": \"_bvh_branch\"\n                            },\n                            \"computed\": false\n                          },\n                          \"extra\": {\n                            \"parenthesizedArgument\": false\n                          }\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 8692,\n                        \"end\": 8716,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 284,\n                            \"column\": 39\n                          },\n                          \"end\": {\n                            \"line\": 286,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ReturnStatement\",\n                            \"start\": 8697,\n                            \"end\": 8712,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 285,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 285,\n                                \"column\": 18\n                              }\n                            },\n                            \"argument\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8704,\n                              \"end\": 8711,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 285,\n                                  \"column\": 10\n                                },\n                                \"end\": {\n                                  \"line\": 285,\n                                  \"column\": 17\n                                },\n                                \"identifierName\": \"results\"\n                              },\n                              \"name\": \"results\"\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"WhileStatement\",\n                      \"start\": 8720,\n                      \"end\": 9741,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 288,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8726,\n                        \"end\": 8733,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 288,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 288,\n                            \"column\": 15\n                          },\n                          \"identifierName\": \"current\"\n                        },\n                        \"name\": \"current\"\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 8735,\n                        \"end\": 9741,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 288,\n                            \"column\": 17\n                          },\n                          \"end\": {\n                            \"line\": 338,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 8740,\n                            \"end\": 9107,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 289,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 304,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8743,\n                              \"end\": 8756,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 289,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 289,\n                                  \"column\": 19\n                                },\n                                \"identifierName\": \"traverse_left\"\n                              },\n                              \"name\": \"traverse_left\"\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 8758,\n                              \"end\": 9107,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 289,\n                                  \"column\": 21\n                                },\n                                \"end\": {\n                                  \"line\": 304,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 8764,\n                                  \"end\": 8786,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 290,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 290,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 8764,\n                                    \"end\": 8785,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 290,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 290,\n                                        \"column\": 25\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 8764,\n                                      \"end\": 8777,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 290,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 290,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"traverse_left\"\n                                      },\n                                      \"name\": \"traverse_left\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"BooleanLiteral\",\n                                      \"start\": 8780,\n                                      \"end\": 8785,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 290,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 290,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"value\": false\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 8792,\n                                  \"end\": 8850,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 292,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 292,\n                                      \"column\": 62\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 8796,\n                                      \"end\": 8849,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 292,\n                                          \"column\": 8\n                                        },\n                                        \"end\": {\n                                          \"line\": 292,\n                                          \"column\": 61\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 8796,\n                                        \"end\": 8800,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 292,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 292,\n                                            \"column\": 12\n                                          },\n                                          \"identifierName\": \"left\"\n                                        },\n                                        \"name\": \"left\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 8803,\n                                        \"end\": 8849,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 292,\n                                            \"column\": 15\n                                          },\n                                          \"end\": {\n                                            \"line\": 292,\n                                            \"column\": 61\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 8803,\n                                          \"end\": 8822,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 292,\n                                              \"column\": 15\n                                            },\n                                            \"end\": {\n                                              \"line\": 292,\n                                              \"column\": 34\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8803,\n                                            \"end\": 8810,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 292,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 292,\n                                                \"column\": 22\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8811,\n                                            \"end\": 8822,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 292,\n                                                \"column\": 23\n                                              },\n                                              \"end\": {\n                                                \"line\": 292,\n                                                \"column\": 34\n                                              },\n                                              \"identifierName\": \"_bvh_branch\"\n                                            },\n                                            \"name\": \"_bvh_branch\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 8825,\n                                          \"end\": 8842,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 292,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 292,\n                                              \"column\": 54\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8825,\n                                            \"end\": 8832,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 292,\n                                                \"column\": 37\n                                              },\n                                              \"end\": {\n                                                \"line\": 292,\n                                                \"column\": 44\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8833,\n                                            \"end\": 8842,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 292,\n                                                \"column\": 45\n                                              },\n                                              \"end\": {\n                                                \"line\": 292,\n                                                \"column\": 54\n                                              },\n                                              \"identifierName\": \"_bvh_left\"\n                                            },\n                                            \"name\": \"_bvh_left\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"NullLiteral\",\n                                          \"start\": 8845,\n                                          \"end\": 8849,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 292,\n                                              \"column\": 57\n                                            },\n                                            \"end\": {\n                                              \"line\": 292,\n                                              \"column\": 61\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"let\"\n                                },\n                                {\n                                  \"type\": \"WhileStatement\",\n                                  \"start\": 8856,\n                                  \"end\": 9102,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 294,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 303,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"LogicalExpression\",\n                                    \"start\": 8868,\n                                    \"end\": 9004,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 295,\n                                        \"column\": 5\n                                      },\n                                      \"end\": {\n                                        \"line\": 299,\n                                        \"column\": 29\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"LogicalExpression\",\n                                      \"start\": 8868,\n                                      \"end\": 8971,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 295,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 298,\n                                          \"column\": 29\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"LogicalExpression\",\n                                        \"start\": 8868,\n                                        \"end\": 8938,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 295,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 297,\n                                            \"column\": 29\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"LogicalExpression\",\n                                          \"start\": 8868,\n                                          \"end\": 8905,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 295,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 296,\n                                              \"column\": 29\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8868,\n                                            \"end\": 8872,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 295,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 295,\n                                                \"column\": 9\n                                              },\n                                              \"identifierName\": \"left\"\n                                            },\n                                            \"name\": \"left\"\n                                          },\n                                          \"operator\": \"&&\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 8881,\n                                            \"end\": 8905,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 296,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 296,\n                                                \"column\": 29\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 8881,\n                                              \"end\": 8896,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 296,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 296,\n                                                  \"column\": 20\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 8881,\n                                                \"end\": 8885,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 296,\n                                                    \"column\": 5\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 296,\n                                                    \"column\": 9\n                                                  },\n                                                  \"identifierName\": \"left\"\n                                                },\n                                                \"name\": \"left\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 8886,\n                                                \"end\": 8896,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 296,\n                                                    \"column\": 10\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 296,\n                                                    \"column\": 20\n                                                  },\n                                                  \"identifierName\": \"_bvh_max_x\"\n                                                },\n                                                \"name\": \"_bvh_max_x\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"operator\": \">=\",\n                                            \"right\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 8900,\n                                              \"end\": 8905,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 296,\n                                                  \"column\": 24\n                                                },\n                                                \"end\": {\n                                                  \"line\": 296,\n                                                  \"column\": 29\n                                                },\n                                                \"identifierName\": \"min_x\"\n                                              },\n                                              \"name\": \"min_x\"\n                                            }\n                                          }\n                                        },\n                                        \"operator\": \"&&\",\n                                        \"right\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 8914,\n                                          \"end\": 8938,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 297,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 297,\n                                              \"column\": 29\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 8914,\n                                            \"end\": 8929,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 297,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 297,\n                                                \"column\": 20\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 8914,\n                                              \"end\": 8918,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 297,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 297,\n                                                  \"column\": 9\n                                                },\n                                                \"identifierName\": \"left\"\n                                              },\n                                              \"name\": \"left\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 8919,\n                                              \"end\": 8929,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 297,\n                                                  \"column\": 10\n                                                },\n                                                \"end\": {\n                                                  \"line\": 297,\n                                                  \"column\": 20\n                                                },\n                                                \"identifierName\": \"_bvh_max_y\"\n                                              },\n                                              \"name\": \"_bvh_max_y\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"operator\": \">=\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8933,\n                                            \"end\": 8938,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 297,\n                                                \"column\": 24\n                                              },\n                                              \"end\": {\n                                                \"line\": 297,\n                                                \"column\": 29\n                                              },\n                                              \"identifierName\": \"min_y\"\n                                            },\n                                            \"name\": \"min_y\"\n                                          }\n                                        }\n                                      },\n                                      \"operator\": \"&&\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 8947,\n                                        \"end\": 8971,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 298,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 298,\n                                            \"column\": 29\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 8947,\n                                          \"end\": 8962,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 298,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 298,\n                                              \"column\": 20\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8947,\n                                            \"end\": 8951,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 298,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 298,\n                                                \"column\": 9\n                                              },\n                                              \"identifierName\": \"left\"\n                                            },\n                                            \"name\": \"left\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 8952,\n                                            \"end\": 8962,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 298,\n                                                \"column\": 10\n                                              },\n                                              \"end\": {\n                                                \"line\": 298,\n                                                \"column\": 20\n                                              },\n                                              \"identifierName\": \"_bvh_min_x\"\n                                            },\n                                            \"name\": \"_bvh_min_x\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"operator\": \"<=\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 8966,\n                                          \"end\": 8971,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 298,\n                                              \"column\": 24\n                                            },\n                                            \"end\": {\n                                              \"line\": 298,\n                                              \"column\": 29\n                                            },\n                                            \"identifierName\": \"max_x\"\n                                          },\n                                          \"name\": \"max_x\"\n                                        }\n                                      }\n                                    },\n                                    \"operator\": \"&&\",\n                                    \"right\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 8980,\n                                      \"end\": 9004,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 299,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 299,\n                                          \"column\": 29\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 8980,\n                                        \"end\": 8995,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 299,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 299,\n                                            \"column\": 20\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 8980,\n                                          \"end\": 8984,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 299,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 299,\n                                              \"column\": 9\n                                            },\n                                            \"identifierName\": \"left\"\n                                          },\n                                          \"name\": \"left\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 8985,\n                                          \"end\": 8995,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 299,\n                                              \"column\": 10\n                                            },\n                                            \"end\": {\n                                              \"line\": 299,\n                                              \"column\": 20\n                                            },\n                                            \"identifierName\": \"_bvh_min_y\"\n                                          },\n                                          \"name\": \"_bvh_min_y\"\n                                        },\n                                        \"computed\": false\n                                      },\n                                      \"operator\": \"<=\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 8999,\n                                        \"end\": 9004,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 299,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 299,\n                                            \"column\": 29\n                                          },\n                                          \"identifierName\": \"max_y\"\n                                        },\n                                        \"name\": \"max_y\"\n                                      }\n                                    }\n                                  },\n                                  \"body\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 9011,\n                                    \"end\": 9102,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 300,\n                                        \"column\": 6\n                                      },\n                                      \"end\": {\n                                        \"line\": 303,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 9018,\n                                        \"end\": 9033,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 301,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 301,\n                                            \"column\": 20\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 9018,\n                                          \"end\": 9032,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 301,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 301,\n                                              \"column\": 19\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 9018,\n                                            \"end\": 9025,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 301,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 301,\n                                                \"column\": 12\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 9028,\n                                            \"end\": 9032,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 301,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 301,\n                                                \"column\": 19\n                                              },\n                                              \"identifierName\": \"left\"\n                                            },\n                                            \"name\": \"left\"\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 9039,\n                                        \"end\": 9096,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 302,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 302,\n                                            \"column\": 62\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 9039,\n                                          \"end\": 9095,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 302,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 302,\n                                              \"column\": 61\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 9039,\n                                            \"end\": 9043,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 302,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 302,\n                                                \"column\": 9\n                                              },\n                                              \"identifierName\": \"left\"\n                                            },\n                                            \"name\": \"left\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 9049,\n                                            \"end\": 9095,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 302,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 302,\n                                                \"column\": 61\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 9049,\n                                              \"end\": 9068,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 302,\n                                                  \"column\": 15\n                                                },\n                                                \"end\": {\n                                                  \"line\": 302,\n                                                  \"column\": 34\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 9049,\n                                                \"end\": 9056,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 302,\n                                                    \"column\": 15\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 302,\n                                                    \"column\": 22\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 9057,\n                                                \"end\": 9068,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 302,\n                                                    \"column\": 23\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 302,\n                                                    \"column\": 34\n                                                  },\n                                                  \"identifierName\": \"_bvh_branch\"\n                                                },\n                                                \"name\": \"_bvh_branch\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 9071,\n                                              \"end\": 9088,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 302,\n                                                  \"column\": 37\n                                                },\n                                                \"end\": {\n                                                  \"line\": 302,\n                                                  \"column\": 54\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 9071,\n                                                \"end\": 9078,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 302,\n                                                    \"column\": 37\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 302,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 9079,\n                                                \"end\": 9088,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 302,\n                                                    \"column\": 45\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 302,\n                                                    \"column\": 54\n                                                  },\n                                                  \"identifierName\": \"_bvh_left\"\n                                                },\n                                                \"name\": \"_bvh_left\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"NullLiteral\",\n                                              \"start\": 9091,\n                                              \"end\": 9095,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 302,\n                                                  \"column\": 57\n                                                },\n                                                \"end\": {\n                                                  \"line\": 302,\n                                                  \"column\": 61\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 9112,\n                            \"end\": 9147,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 306,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 306,\n                                \"column\": 38\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 9118,\n                                \"end\": 9146,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 306,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 306,\n                                    \"column\": 37\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 9118,\n                                  \"end\": 9124,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 306,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 306,\n                                      \"column\": 15\n                                    },\n                                    \"identifierName\": \"branch\"\n                                  },\n                                  \"name\": \"branch\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 9127,\n                                  \"end\": 9146,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 306,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 306,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 9127,\n                                    \"end\": 9134,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 306,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 306,\n                                        \"column\": 25\n                                      },\n                                      \"identifierName\": \"current\"\n                                    },\n                                    \"name\": \"current\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 9135,\n                                    \"end\": 9146,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 306,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 306,\n                                        \"column\": 37\n                                      },\n                                      \"identifierName\": \"_bvh_branch\"\n                                    },\n                                    \"name\": \"_bvh_branch\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 9151,\n                            \"end\": 9201,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 307,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 307,\n                                \"column\": 53\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 9157,\n                                \"end\": 9200,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 307,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 307,\n                                    \"column\": 52\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 9157,\n                                  \"end\": 9162,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 307,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 307,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"right\"\n                                  },\n                                  \"name\": \"right\"\n                                },\n                                \"init\": {\n                                  \"type\": \"ConditionalExpression\",\n                                  \"start\": 9166,\n                                  \"end\": 9200,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 307,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 307,\n                                      \"column\": 52\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 9166,\n                                    \"end\": 9172,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 307,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 307,\n                                        \"column\": 24\n                                      },\n                                      \"identifierName\": \"branch\"\n                                    },\n                                    \"name\": \"branch\"\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 9175,\n                                    \"end\": 9193,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 307,\n                                        \"column\": 27\n                                      },\n                                      \"end\": {\n                                        \"line\": 307,\n                                        \"column\": 45\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9175,\n                                      \"end\": 9182,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 307,\n                                          \"column\": 27\n                                        },\n                                        \"end\": {\n                                          \"line\": 307,\n                                          \"column\": 34\n                                        },\n                                        \"identifierName\": \"current\"\n                                      },\n                                      \"name\": \"current\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9183,\n                                      \"end\": 9193,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 307,\n                                          \"column\": 35\n                                        },\n                                        \"end\": {\n                                          \"line\": 307,\n                                          \"column\": 45\n                                        },\n                                        \"identifierName\": \"_bvh_right\"\n                                      },\n                                      \"name\": \"_bvh_right\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"NullLiteral\",\n                                    \"start\": 9196,\n                                    \"end\": 9200,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 307,\n                                        \"column\": 48\n                                      },\n                                      \"end\": {\n                                        \"line\": 307,\n                                        \"column\": 52\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 9206,\n                            \"end\": 9737,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 309,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 337,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 9214,\n                              \"end\": 9347,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 310,\n                                  \"column\": 4\n                                },\n                                \"end\": {\n                                  \"line\": 314,\n                                  \"column\": 28\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"LogicalExpression\",\n                                \"start\": 9214,\n                                \"end\": 9315,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 310,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 313,\n                                    \"column\": 28\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"LogicalExpression\",\n                                  \"start\": 9214,\n                                  \"end\": 9283,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 310,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 312,\n                                      \"column\": 28\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"LogicalExpression\",\n                                    \"start\": 9214,\n                                    \"end\": 9251,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 310,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 311,\n                                        \"column\": 28\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9214,\n                                      \"end\": 9219,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 310,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 310,\n                                          \"column\": 9\n                                        },\n                                        \"identifierName\": \"right\"\n                                      },\n                                      \"name\": \"right\"\n                                    },\n                                    \"operator\": \"&&\",\n                                    \"right\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 9227,\n                                      \"end\": 9251,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 311,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 311,\n                                          \"column\": 28\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 9227,\n                                        \"end\": 9243,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 311,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 311,\n                                            \"column\": 20\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 9227,\n                                          \"end\": 9232,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 311,\n                                              \"column\": 4\n                                            },\n                                            \"end\": {\n                                              \"line\": 311,\n                                              \"column\": 9\n                                            },\n                                            \"identifierName\": \"right\"\n                                          },\n                                          \"name\": \"right\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 9233,\n                                          \"end\": 9243,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 311,\n                                              \"column\": 10\n                                            },\n                                            \"end\": {\n                                              \"line\": 311,\n                                              \"column\": 20\n                                            },\n                                            \"identifierName\": \"_bvh_max_x\"\n                                          },\n                                          \"name\": \"_bvh_max_x\"\n                                        },\n                                        \"computed\": false\n                                      },\n                                      \"operator\": \">\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 9246,\n                                        \"end\": 9251,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 311,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 311,\n                                            \"column\": 28\n                                          },\n                                          \"identifierName\": \"min_x\"\n                                        },\n                                        \"name\": \"min_x\"\n                                      }\n                                    }\n                                  },\n                                  \"operator\": \"&&\",\n                                  \"right\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 9259,\n                                    \"end\": 9283,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 312,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 312,\n                                        \"column\": 28\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 9259,\n                                      \"end\": 9275,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 312,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 312,\n                                          \"column\": 20\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 9259,\n                                        \"end\": 9264,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 312,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 312,\n                                            \"column\": 9\n                                          },\n                                          \"identifierName\": \"right\"\n                                        },\n                                        \"name\": \"right\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 9265,\n                                        \"end\": 9275,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 312,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 312,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"_bvh_max_y\"\n                                        },\n                                        \"name\": \"_bvh_max_y\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"operator\": \">\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9278,\n                                      \"end\": 9283,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 312,\n                                          \"column\": 23\n                                        },\n                                        \"end\": {\n                                          \"line\": 312,\n                                          \"column\": 28\n                                        },\n                                        \"identifierName\": \"min_y\"\n                                      },\n                                      \"name\": \"min_y\"\n                                    }\n                                  }\n                                },\n                                \"operator\": \"&&\",\n                                \"right\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 9291,\n                                  \"end\": 9315,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 313,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 313,\n                                      \"column\": 28\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 9291,\n                                    \"end\": 9307,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 313,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 313,\n                                        \"column\": 20\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9291,\n                                      \"end\": 9296,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 313,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 313,\n                                          \"column\": 9\n                                        },\n                                        \"identifierName\": \"right\"\n                                      },\n                                      \"name\": \"right\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9297,\n                                      \"end\": 9307,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 313,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 313,\n                                          \"column\": 20\n                                        },\n                                        \"identifierName\": \"_bvh_min_x\"\n                                      },\n                                      \"name\": \"_bvh_min_x\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"operator\": \"<\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 9310,\n                                    \"end\": 9315,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 313,\n                                        \"column\": 23\n                                      },\n                                      \"end\": {\n                                        \"line\": 313,\n                                        \"column\": 28\n                                      },\n                                      \"identifierName\": \"max_x\"\n                                    },\n                                    \"name\": \"max_x\"\n                                  }\n                                }\n                              },\n                              \"operator\": \"&&\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 9323,\n                                \"end\": 9347,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 314,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 314,\n                                    \"column\": 28\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 9323,\n                                  \"end\": 9339,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 314,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 314,\n                                      \"column\": 20\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 9323,\n                                    \"end\": 9328,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 314,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 314,\n                                        \"column\": 9\n                                      },\n                                      \"identifierName\": \"right\"\n                                    },\n                                    \"name\": \"right\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 9329,\n                                    \"end\": 9339,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 314,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 314,\n                                        \"column\": 20\n                                      },\n                                      \"identifierName\": \"_bvh_min_y\"\n                                    },\n                                    \"name\": \"_bvh_min_y\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"<\",\n                                \"right\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 9342,\n                                  \"end\": 9347,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 314,\n                                      \"column\": 23\n                                    },\n                                    \"end\": {\n                                      \"line\": 314,\n                                      \"column\": 28\n                                    },\n                                    \"identifierName\": \"max_y\"\n                                  },\n                                  \"name\": \"max_y\"\n                                }\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 9353,\n                              \"end\": 9412,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 315,\n                                  \"column\": 5\n                                },\n                                \"end\": {\n                                  \"line\": 318,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 9359,\n                                  \"end\": 9381,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 316,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 316,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 9359,\n                                    \"end\": 9380,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 316,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 316,\n                                        \"column\": 25\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9359,\n                                      \"end\": 9366,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 316,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 316,\n                                          \"column\": 11\n                                        },\n                                        \"identifierName\": \"current\"\n                                      },\n                                      \"name\": \"current\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9375,\n                                      \"end\": 9380,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 316,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 316,\n                                          \"column\": 25\n                                        },\n                                        \"identifierName\": \"right\"\n                                      },\n                                      \"name\": \"right\"\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 9386,\n                                  \"end\": 9407,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 317,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 317,\n                                      \"column\": 25\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 9386,\n                                    \"end\": 9406,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 317,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 317,\n                                        \"column\": 24\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 9386,\n                                      \"end\": 9399,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 317,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 317,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"traverse_left\"\n                                      },\n                                      \"name\": \"traverse_left\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"BooleanLiteral\",\n                                      \"start\": 9402,\n                                      \"end\": 9406,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 317,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 317,\n                                          \"column\": 24\n                                        }\n                                      },\n                                      \"value\": true\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 9421,\n                              \"end\": 9737,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 319,\n                                  \"column\": 8\n                                },\n                                \"end\": {\n                                  \"line\": 337,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"IfStatement\",\n                                  \"start\": 9427,\n                                  \"end\": 9494,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 320,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 322,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"LogicalExpression\",\n                                    \"start\": 9430,\n                                    \"end\": 9457,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 320,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 320,\n                                        \"column\": 34\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"UnaryExpression\",\n                                      \"start\": 9430,\n                                      \"end\": 9437,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 320,\n                                          \"column\": 7\n                                        },\n                                        \"end\": {\n                                          \"line\": 320,\n                                          \"column\": 14\n                                        }\n                                      },\n                                      \"operator\": \"!\",\n                                      \"prefix\": true,\n                                      \"argument\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 9431,\n                                        \"end\": 9437,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 320,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 320,\n                                            \"column\": 14\n                                          },\n                                          \"identifierName\": \"branch\"\n                                        },\n                                        \"name\": \"branch\"\n                                      },\n                                      \"extra\": {\n                                        \"parenthesizedArgument\": false\n                                      }\n                                    },\n                                    \"operator\": \"&&\",\n                                    \"right\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 9441,\n                                      \"end\": 9457,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 320,\n                                          \"column\": 18\n                                        },\n                                        \"end\": {\n                                          \"line\": 320,\n                                          \"column\": 34\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 9441,\n                                        \"end\": 9448,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 320,\n                                            \"column\": 18\n                                          },\n                                          \"end\": {\n                                            \"line\": 320,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"current\"\n                                        },\n                                        \"name\": \"current\"\n                                      },\n                                      \"operator\": \"!==\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 9453,\n                                        \"end\": 9457,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 320,\n                                            \"column\": 30\n                                          },\n                                          \"end\": {\n                                            \"line\": 320,\n                                            \"column\": 34\n                                          },\n                                          \"identifierName\": \"body\"\n                                        },\n                                        \"name\": \"body\"\n                                      }\n                                    }\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 9459,\n                                    \"end\": 9494,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 320,\n                                        \"column\": 36\n                                      },\n                                      \"end\": {\n                                        \"line\": 322,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 9466,\n                                        \"end\": 9488,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 321,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 321,\n                                            \"column\": 27\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"CallExpression\",\n                                          \"start\": 9466,\n                                          \"end\": 9487,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 321,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 321,\n                                              \"column\": 26\n                                            }\n                                          },\n                                          \"callee\": {\n                                            \"type\": \"MemberExpression\",\n                                            \"start\": 9466,\n                                            \"end\": 9478,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 321,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 321,\n                                                \"column\": 17\n                                              }\n                                            },\n                                            \"object\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 9466,\n                                              \"end\": 9473,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 321,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 321,\n                                                  \"column\": 12\n                                                },\n                                                \"identifierName\": \"results\"\n                                              },\n                                              \"name\": \"results\"\n                                            },\n                                            \"property\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 9474,\n                                              \"end\": 9478,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 321,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 321,\n                                                  \"column\": 17\n                                                },\n                                                \"identifierName\": \"push\"\n                                              },\n                                              \"name\": \"push\"\n                                            },\n                                            \"computed\": false\n                                          },\n                                          \"arguments\": [\n                                            {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 9479,\n                                              \"end\": 9486,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 321,\n                                                  \"column\": 18\n                                                },\n                                                \"end\": {\n                                                  \"line\": 321,\n                                                  \"column\": 25\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            }\n                                          ]\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  },\n                                  \"alternate\": null\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 9500,\n                                  \"end\": 9533,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 324,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 324,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 9504,\n                                      \"end\": 9532,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 324,\n                                          \"column\": 8\n                                        },\n                                        \"end\": {\n                                          \"line\": 324,\n                                          \"column\": 36\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 9504,\n                                        \"end\": 9510,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 324,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 324,\n                                            \"column\": 14\n                                          },\n                                          \"identifierName\": \"parent\"\n                                        },\n                                        \"name\": \"parent\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 9513,\n                                        \"end\": 9532,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 324,\n                                            \"column\": 17\n                                          },\n                                          \"end\": {\n                                            \"line\": 324,\n                                            \"column\": 36\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 9513,\n                                          \"end\": 9520,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 324,\n                                              \"column\": 17\n                                            },\n                                            \"end\": {\n                                              \"line\": 324,\n                                              \"column\": 24\n                                            },\n                                            \"identifierName\": \"current\"\n                                          },\n                                          \"name\": \"current\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 9521,\n                                          \"end\": 9532,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 324,\n                                              \"column\": 25\n                                            },\n                                            \"end\": {\n                                              \"line\": 324,\n                                              \"column\": 36\n                                            },\n                                            \"identifierName\": \"_bvh_parent\"\n                                          },\n                                          \"name\": \"_bvh_parent\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"let\"\n                                },\n                                {\n                                  \"type\": \"IfStatement\",\n                                  \"start\": 9539,\n                                  \"end\": 9732,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 326,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 336,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 9542,\n                                    \"end\": 9548,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 326,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 326,\n                                        \"column\": 13\n                                      },\n                                      \"identifierName\": \"parent\"\n                                    },\n                                    \"name\": \"parent\"\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 9550,\n                                    \"end\": 9703,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 326,\n                                        \"column\": 15\n                                      },\n                                      \"end\": {\n                                        \"line\": 333,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"WhileStatement\",\n                                        \"start\": 9557,\n                                        \"end\": 9673,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 327,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 330,\n                                            \"column\": 6\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"LogicalExpression\",\n                                          \"start\": 9563,\n                                          \"end\": 9602,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 327,\n                                              \"column\": 11\n                                            },\n                                            \"end\": {\n                                              \"line\": 327,\n                                              \"column\": 50\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 9563,\n                                            \"end\": 9569,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 327,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 327,\n                                                \"column\": 17\n                                              },\n                                              \"identifierName\": \"parent\"\n                                            },\n                                            \"name\": \"parent\"\n                                          },\n                                          \"operator\": \"&&\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 9573,\n                                            \"end\": 9602,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 327,\n                                                \"column\": 21\n                                              },\n                                              \"end\": {\n                                                \"line\": 327,\n                                                \"column\": 50\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 9573,\n                                              \"end\": 9590,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 327,\n                                                  \"column\": 21\n                                                },\n                                                \"end\": {\n                                                  \"line\": 327,\n                                                  \"column\": 38\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 9573,\n                                                \"end\": 9579,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 327,\n                                                    \"column\": 21\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 327,\n                                                    \"column\": 27\n                                                  },\n                                                  \"identifierName\": \"parent\"\n                                                },\n                                                \"name\": \"parent\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 9580,\n                                                \"end\": 9590,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 327,\n                                                    \"column\": 28\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 327,\n                                                    \"column\": 38\n                                                  },\n                                                  \"identifierName\": \"_bvh_right\"\n                                                },\n                                                \"name\": \"_bvh_right\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"operator\": \"===\",\n                                            \"right\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 9595,\n                                              \"end\": 9602,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 327,\n                                                  \"column\": 43\n                                                },\n                                                \"end\": {\n                                                  \"line\": 327,\n                                                  \"column\": 50\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            }\n                                          }\n                                        },\n                                        \"body\": {\n                                          \"type\": \"BlockStatement\",\n                                          \"start\": 9604,\n                                          \"end\": 9673,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 327,\n                                              \"column\": 52\n                                            },\n                                            \"end\": {\n                                              \"line\": 330,\n                                              \"column\": 6\n                                            }\n                                          },\n                                          \"body\": [\n                                            {\n                                              \"type\": \"ExpressionStatement\",\n                                              \"start\": 9612,\n                                              \"end\": 9629,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 328,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 328,\n                                                  \"column\": 23\n                                                }\n                                              },\n                                              \"expression\": {\n                                                \"type\": \"AssignmentExpression\",\n                                                \"start\": 9612,\n                                                \"end\": 9628,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 328,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 328,\n                                                    \"column\": 22\n                                                  }\n                                                },\n                                                \"operator\": \"=\",\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 9612,\n                                                  \"end\": 9619,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 328,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 328,\n                                                      \"column\": 13\n                                                    },\n                                                    \"identifierName\": \"current\"\n                                                  },\n                                                  \"name\": \"current\"\n                                                },\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 9622,\n                                                  \"end\": 9628,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 328,\n                                                      \"column\": 16\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 328,\n                                                      \"column\": 22\n                                                    },\n                                                    \"identifierName\": \"parent\"\n                                                  },\n                                                  \"name\": \"parent\"\n                                                }\n                                              }\n                                            },\n                                            {\n                                              \"type\": \"ExpressionStatement\",\n                                              \"start\": 9636,\n                                              \"end\": 9666,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 329,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 329,\n                                                  \"column\": 36\n                                                }\n                                              },\n                                              \"expression\": {\n                                                \"type\": \"AssignmentExpression\",\n                                                \"start\": 9636,\n                                                \"end\": 9665,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 329,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 329,\n                                                    \"column\": 35\n                                                  }\n                                                },\n                                                \"operator\": \"=\",\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 9636,\n                                                  \"end\": 9642,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 329,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 329,\n                                                      \"column\": 12\n                                                    },\n                                                    \"identifierName\": \"parent\"\n                                                  },\n                                                  \"name\": \"parent\"\n                                                },\n                                                \"right\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 9646,\n                                                  \"end\": 9665,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 329,\n                                                      \"column\": 16\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 329,\n                                                      \"column\": 35\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 9646,\n                                                    \"end\": 9653,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 329,\n                                                        \"column\": 16\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 329,\n                                                        \"column\": 23\n                                                      },\n                                                      \"identifierName\": \"current\"\n                                                    },\n                                                    \"name\": \"current\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 9654,\n                                                    \"end\": 9665,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 329,\n                                                        \"column\": 24\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 329,\n                                                        \"column\": 35\n                                                      },\n                                                      \"identifierName\": \"_bvh_parent\"\n                                                    },\n                                                    \"name\": \"_bvh_parent\"\n                                                  },\n                                                  \"computed\": false\n                                                }\n                                              }\n                                            }\n                                          ],\n                                          \"directives\": []\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 9680,\n                                        \"end\": 9697,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 332,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 332,\n                                            \"column\": 22\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 9680,\n                                          \"end\": 9696,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 332,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 332,\n                                              \"column\": 21\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 9680,\n                                            \"end\": 9687,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 332,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 332,\n                                                \"column\": 12\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 9690,\n                                            \"end\": 9696,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 332,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 332,\n                                                \"column\": 21\n                                              },\n                                              \"identifierName\": \"parent\"\n                                            },\n                                            \"name\": \"parent\"\n                                          }\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 9713,\n                                    \"end\": 9732,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 334,\n                                        \"column\": 9\n                                      },\n                                      \"end\": {\n                                        \"line\": 336,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"BreakStatement\",\n                                        \"start\": 9720,\n                                        \"end\": 9726,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 335,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 335,\n                                            \"column\": 11\n                                          }\n                                        },\n                                        \"label\": null\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 9745,\n                      \"end\": 9760,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 340,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 340,\n                          \"column\": 17\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 9752,\n                        \"end\": 9759,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 340,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 340,\n                            \"column\": 16\n                          },\n                          \"identifierName\": \"results\"\n                        },\n                        \"name\": \"results\"\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test\\n\\t * @returns {Array<Body>}\\n\\t \",\n                    \"start\": 8256,\n                    \"end\": 8401,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 269,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 273,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 9766,\n                    \"end\": 9924,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 343,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 346,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 9926,\n                \"end\": 10075,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 347,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 354,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 9926,\n                  \"end\": 9930,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 347,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 347,\n                      \"column\": 5\n                    },\n                    \"identifierName\": \"draw\"\n                  },\n                  \"name\": \"draw\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 9931,\n                    \"end\": 9938,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 347,\n                        \"column\": 6\n                      },\n                      \"end\": {\n                        \"line\": 347,\n                        \"column\": 13\n                      },\n                      \"identifierName\": \"context\"\n                    },\n                    \"name\": \"context\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 9940,\n                  \"end\": 10075,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 347,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 354,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 9944,\n                      \"end\": 9972,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 348,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 348,\n                          \"column\": 30\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 9950,\n                          \"end\": 9971,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 348,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 348,\n                              \"column\": 29\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 9950,\n                            \"end\": 9956,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 348,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 348,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"bodies\"\n                            },\n                            \"name\": \"bodies\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 9959,\n                            \"end\": 9971,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 348,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 348,\n                                \"column\": 29\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 9959,\n                              \"end\": 9963,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 348,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 348,\n                                  \"column\": 21\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 9964,\n                              \"end\": 9971,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 348,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 348,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"_bodies\"\n                              },\n                              \"name\": \"_bodies\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 9975,\n                      \"end\": 10004,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 349,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 349,\n                          \"column\": 31\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 9981,\n                          \"end\": 10003,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 349,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 349,\n                              \"column\": 30\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 9981,\n                            \"end\": 9986,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 349,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 349,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"count\"\n                            },\n                            \"name\": \"count\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 9990,\n                            \"end\": 10003,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 349,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 349,\n                                \"column\": 30\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 9990,\n                              \"end\": 9996,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 349,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 349,\n                                  \"column\": 23\n                                },\n                                \"identifierName\": \"bodies\"\n                              },\n                              \"name\": \"bodies\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 9997,\n                              \"end\": 10003,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 349,\n                                  \"column\": 24\n                                },\n                                \"end\": {\n                                  \"line\": 349,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"length\"\n                              },\n                              \"name\": \"length\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ForStatement\",\n                      \"start\": 10008,\n                      \"end\": 10072,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 351,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 353,\n                          \"column\": 3\n                        }\n                      },\n                      \"init\": {\n                        \"type\": \"VariableDeclaration\",\n                        \"start\": 10012,\n                        \"end\": 10021,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 351,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 351,\n                            \"column\": 15\n                          }\n                        },\n                        \"declarations\": [\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 10016,\n                            \"end\": 10021,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 351,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 351,\n                                \"column\": 15\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10016,\n                              \"end\": 10017,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 351,\n                                  \"column\": 10\n                                },\n                                \"end\": {\n                                  \"line\": 351,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"i\"\n                              },\n                              \"name\": \"i\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 10020,\n                              \"end\": 10021,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 351,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 351,\n                                  \"column\": 15\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          }\n                        ],\n                        \"kind\": \"let\"\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 10023,\n                        \"end\": 10032,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 351,\n                            \"column\": 17\n                          },\n                          \"end\": {\n                            \"line\": 351,\n                            \"column\": 26\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10023,\n                          \"end\": 10024,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 351,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 351,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"i\"\n                          },\n                          \"name\": \"i\"\n                        },\n                        \"operator\": \"<\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10027,\n                          \"end\": 10032,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 351,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 351,\n                              \"column\": 26\n                            },\n                            \"identifierName\": \"count\"\n                          },\n                          \"name\": \"count\"\n                        }\n                      },\n                      \"update\": {\n                        \"type\": \"UpdateExpression\",\n                        \"start\": 10034,\n                        \"end\": 10037,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 351,\n                            \"column\": 28\n                          },\n                          \"end\": {\n                            \"line\": 351,\n                            \"column\": 31\n                          }\n                        },\n                        \"operator\": \"++\",\n                        \"prefix\": true,\n                        \"argument\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10036,\n                          \"end\": 10037,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 351,\n                              \"column\": 30\n                            },\n                            \"end\": {\n                              \"line\": 351,\n                              \"column\": 31\n                            },\n                            \"identifierName\": \"i\"\n                          },\n                          \"name\": \"i\"\n                        },\n                        \"extra\": {\n                          \"parenthesizedArgument\": false\n                        }\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 10039,\n                        \"end\": 10072,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 351,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 353,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 10044,\n                            \"end\": 10068,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 352,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 352,\n                                \"column\": 27\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 10044,\n                              \"end\": 10067,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 352,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 352,\n                                  \"column\": 26\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 10044,\n                                \"end\": 10058,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 352,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 352,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 10044,\n                                  \"end\": 10053,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 352,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 352,\n                                      \"column\": 12\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10044,\n                                    \"end\": 10050,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 352,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 352,\n                                        \"column\": 9\n                                      },\n                                      \"identifierName\": \"bodies\"\n                                    },\n                                    \"name\": \"bodies\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10051,\n                                    \"end\": 10052,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 352,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 352,\n                                        \"column\": 11\n                                      },\n                                      \"identifierName\": \"i\"\n                                    },\n                                    \"name\": \"i\"\n                                  },\n                                  \"computed\": true\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10054,\n                                  \"end\": 10058,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 352,\n                                      \"column\": 13\n                                    },\n                                    \"end\": {\n                                      \"line\": 352,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"draw\"\n                                  },\n                                  \"name\": \"draw\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10059,\n                                  \"end\": 10066,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 352,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 352,\n                                      \"column\": 25\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 9766,\n                    \"end\": 9924,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 343,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 346,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 10078,\n                    \"end\": 10287,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 356,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 359,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 10289,\n                \"end\": 11367,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 360,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 409,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 10289,\n                  \"end\": 10296,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 360,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 360,\n                      \"column\": 8\n                    },\n                    \"identifierName\": \"drawBVH\"\n                  },\n                  \"name\": \"drawBVH\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 10297,\n                    \"end\": 10304,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 360,\n                        \"column\": 9\n                      },\n                      \"end\": {\n                        \"line\": 360,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"context\"\n                    },\n                    \"name\": \"context\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 10306,\n                  \"end\": 11367,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 360,\n                      \"column\": 18\n                    },\n                    \"end\": {\n                      \"line\": 409,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 10310,\n                      \"end\": 10346,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 361,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 361,\n                          \"column\": 38\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 10314,\n                          \"end\": 10345,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 361,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 361,\n                              \"column\": 37\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 10314,\n                            \"end\": 10321,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 361,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 361,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"current\"\n                            },\n                            \"name\": \"current\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 10330,\n                            \"end\": 10345,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 361,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 361,\n                                \"column\": 37\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 10330,\n                              \"end\": 10334,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 361,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 361,\n                                  \"column\": 26\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10335,\n                              \"end\": 10345,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 361,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 361,\n                                  \"column\": 37\n                                },\n                                \"identifierName\": \"_hierarchy\"\n                              },\n                              \"name\": \"_hierarchy\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 10349,\n                      \"end\": 10374,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 362,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 362,\n                          \"column\": 27\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 10353,\n                          \"end\": 10373,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 362,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 362,\n                              \"column\": 26\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 10353,\n                            \"end\": 10366,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 362,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 362,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"traverse_left\"\n                            },\n                            \"name\": \"traverse_left\"\n                          },\n                          \"init\": {\n                            \"type\": \"BooleanLiteral\",\n                            \"start\": 10369,\n                            \"end\": 10373,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 362,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 362,\n                                \"column\": 26\n                              }\n                            },\n                            \"value\": true\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"WhileStatement\",\n                      \"start\": 10378,\n                      \"end\": 11364,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 364,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 408,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 10384,\n                        \"end\": 10391,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 364,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 364,\n                            \"column\": 15\n                          },\n                          \"identifierName\": \"current\"\n                        },\n                        \"name\": \"current\"\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 10393,\n                        \"end\": 11364,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 364,\n                            \"column\": 17\n                          },\n                          \"end\": {\n                            \"line\": 408,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 10398,\n                            \"end\": 10622,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 365,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 374,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10401,\n                              \"end\": 10414,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 365,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 365,\n                                  \"column\": 19\n                                },\n                                \"identifierName\": \"traverse_left\"\n                              },\n                              \"name\": \"traverse_left\"\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 10416,\n                              \"end\": 10622,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 365,\n                                  \"column\": 21\n                                },\n                                \"end\": {\n                                  \"line\": 374,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 10422,\n                                  \"end\": 10444,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 366,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 366,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 10422,\n                                    \"end\": 10443,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 366,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 366,\n                                        \"column\": 25\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10422,\n                                      \"end\": 10435,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 366,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 366,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"traverse_left\"\n                                      },\n                                      \"name\": \"traverse_left\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"BooleanLiteral\",\n                                      \"start\": 10438,\n                                      \"end\": 10443,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 366,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 366,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"value\": false\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 10450,\n                                  \"end\": 10508,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 368,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 368,\n                                      \"column\": 62\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 10454,\n                                      \"end\": 10507,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 368,\n                                          \"column\": 8\n                                        },\n                                        \"end\": {\n                                          \"line\": 368,\n                                          \"column\": 61\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10454,\n                                        \"end\": 10458,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 368,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 368,\n                                            \"column\": 12\n                                          },\n                                          \"identifierName\": \"left\"\n                                        },\n                                        \"name\": \"left\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 10461,\n                                        \"end\": 10507,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 368,\n                                            \"column\": 15\n                                          },\n                                          \"end\": {\n                                            \"line\": 368,\n                                            \"column\": 61\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 10461,\n                                          \"end\": 10480,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 368,\n                                              \"column\": 15\n                                            },\n                                            \"end\": {\n                                              \"line\": 368,\n                                              \"column\": 34\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 10461,\n                                            \"end\": 10468,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 368,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 368,\n                                                \"column\": 22\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 10469,\n                                            \"end\": 10480,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 368,\n                                                \"column\": 23\n                                              },\n                                              \"end\": {\n                                                \"line\": 368,\n                                                \"column\": 34\n                                              },\n                                              \"identifierName\": \"_bvh_branch\"\n                                            },\n                                            \"name\": \"_bvh_branch\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 10483,\n                                          \"end\": 10500,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 368,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 368,\n                                              \"column\": 54\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 10483,\n                                            \"end\": 10490,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 368,\n                                                \"column\": 37\n                                              },\n                                              \"end\": {\n                                                \"line\": 368,\n                                                \"column\": 44\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 10491,\n                                            \"end\": 10500,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 368,\n                                                \"column\": 45\n                                              },\n                                              \"end\": {\n                                                \"line\": 368,\n                                                \"column\": 54\n                                              },\n                                              \"identifierName\": \"_bvh_left\"\n                                            },\n                                            \"name\": \"_bvh_left\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"NullLiteral\",\n                                          \"start\": 10503,\n                                          \"end\": 10507,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 368,\n                                              \"column\": 57\n                                            },\n                                            \"end\": {\n                                              \"line\": 368,\n                                              \"column\": 61\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"let\"\n                                },\n                                {\n                                  \"type\": \"WhileStatement\",\n                                  \"start\": 10514,\n                                  \"end\": 10617,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 370,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 373,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10520,\n                                    \"end\": 10524,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 370,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 370,\n                                        \"column\": 14\n                                      },\n                                      \"identifierName\": \"left\"\n                                    },\n                                    \"name\": \"left\"\n                                  },\n                                  \"body\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 10526,\n                                    \"end\": 10617,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 370,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 373,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 10533,\n                                        \"end\": 10548,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 371,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 371,\n                                            \"column\": 20\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 10533,\n                                          \"end\": 10547,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 371,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 371,\n                                              \"column\": 19\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 10533,\n                                            \"end\": 10540,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 371,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 371,\n                                                \"column\": 12\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 10543,\n                                            \"end\": 10547,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 371,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 371,\n                                                \"column\": 19\n                                              },\n                                              \"identifierName\": \"left\"\n                                            },\n                                            \"name\": \"left\"\n                                          }\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 10554,\n                                        \"end\": 10611,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 372,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 372,\n                                            \"column\": 62\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 10554,\n                                          \"end\": 10610,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 372,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 372,\n                                              \"column\": 61\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 10554,\n                                            \"end\": 10558,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 372,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 372,\n                                                \"column\": 9\n                                              },\n                                              \"identifierName\": \"left\"\n                                            },\n                                            \"name\": \"left\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 10564,\n                                            \"end\": 10610,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 372,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 372,\n                                                \"column\": 61\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 10564,\n                                              \"end\": 10583,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 372,\n                                                  \"column\": 15\n                                                },\n                                                \"end\": {\n                                                  \"line\": 372,\n                                                  \"column\": 34\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 10564,\n                                                \"end\": 10571,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 372,\n                                                    \"column\": 15\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 372,\n                                                    \"column\": 22\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 10572,\n                                                \"end\": 10583,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 372,\n                                                    \"column\": 23\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 372,\n                                                    \"column\": 34\n                                                  },\n                                                  \"identifierName\": \"_bvh_branch\"\n                                                },\n                                                \"name\": \"_bvh_branch\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 10586,\n                                              \"end\": 10603,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 372,\n                                                  \"column\": 37\n                                                },\n                                                \"end\": {\n                                                  \"line\": 372,\n                                                  \"column\": 54\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 10586,\n                                                \"end\": 10593,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 372,\n                                                    \"column\": 37\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 372,\n                                                    \"column\": 44\n                                                  },\n                                                  \"identifierName\": \"current\"\n                                                },\n                                                \"name\": \"current\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 10594,\n                                                \"end\": 10603,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 372,\n                                                    \"column\": 45\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 372,\n                                                    \"column\": 54\n                                                  },\n                                                  \"identifierName\": \"_bvh_left\"\n                                                },\n                                                \"name\": \"_bvh_left\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"NullLiteral\",\n                                              \"start\": 10606,\n                                              \"end\": 10610,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 372,\n                                                  \"column\": 57\n                                                },\n                                                \"end\": {\n                                                  \"line\": 372,\n                                                  \"column\": 61\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 10627,\n                            \"end\": 10662,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 376,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 376,\n                                \"column\": 38\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 10633,\n                                \"end\": 10661,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 376,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 376,\n                                    \"column\": 37\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10633,\n                                  \"end\": 10639,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 376,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 376,\n                                      \"column\": 15\n                                    },\n                                    \"identifierName\": \"branch\"\n                                  },\n                                  \"name\": \"branch\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 10642,\n                                  \"end\": 10661,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 376,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 376,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10642,\n                                    \"end\": 10649,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 376,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 376,\n                                        \"column\": 25\n                                      },\n                                      \"identifierName\": \"current\"\n                                    },\n                                    \"name\": \"current\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10650,\n                                    \"end\": 10661,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 376,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 376,\n                                        \"column\": 37\n                                      },\n                                      \"identifierName\": \"_bvh_branch\"\n                                    },\n                                    \"name\": \"_bvh_branch\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 10666,\n                            \"end\": 10700,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 377,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 377,\n                                \"column\": 37\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 10672,\n                                \"end\": 10699,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 377,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 377,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10672,\n                                  \"end\": 10677,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 377,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 377,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"min_x\"\n                                  },\n                                  \"name\": \"min_x\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 10681,\n                                  \"end\": 10699,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 377,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 377,\n                                      \"column\": 36\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10681,\n                                    \"end\": 10688,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 377,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 377,\n                                        \"column\": 25\n                                      },\n                                      \"identifierName\": \"current\"\n                                    },\n                                    \"name\": \"current\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10689,\n                                    \"end\": 10699,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 377,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 377,\n                                        \"column\": 36\n                                      },\n                                      \"identifierName\": \"_bvh_min_x\"\n                                    },\n                                    \"name\": \"_bvh_min_x\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 10704,\n                            \"end\": 10738,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 378,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 378,\n                                \"column\": 37\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 10710,\n                                \"end\": 10737,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 378,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 378,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10710,\n                                  \"end\": 10715,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 378,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 378,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"min_y\"\n                                  },\n                                  \"name\": \"min_y\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 10719,\n                                  \"end\": 10737,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 378,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 378,\n                                      \"column\": 36\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10719,\n                                    \"end\": 10726,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 378,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 378,\n                                        \"column\": 25\n                                      },\n                                      \"identifierName\": \"current\"\n                                    },\n                                    \"name\": \"current\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10727,\n                                    \"end\": 10737,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 378,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 378,\n                                        \"column\": 36\n                                      },\n                                      \"identifierName\": \"_bvh_min_y\"\n                                    },\n                                    \"name\": \"_bvh_min_y\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 10742,\n                            \"end\": 10776,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 379,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 379,\n                                \"column\": 37\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 10748,\n                                \"end\": 10775,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 379,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 379,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10748,\n                                  \"end\": 10753,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 379,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 379,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"max_x\"\n                                  },\n                                  \"name\": \"max_x\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 10757,\n                                  \"end\": 10775,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 379,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 379,\n                                      \"column\": 36\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10757,\n                                    \"end\": 10764,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 379,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 379,\n                                        \"column\": 25\n                                      },\n                                      \"identifierName\": \"current\"\n                                    },\n                                    \"name\": \"current\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10765,\n                                    \"end\": 10775,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 379,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 379,\n                                        \"column\": 36\n                                      },\n                                      \"identifierName\": \"_bvh_max_x\"\n                                    },\n                                    \"name\": \"_bvh_max_x\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 10780,\n                            \"end\": 10814,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 380,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 380,\n                                \"column\": 37\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 10786,\n                                \"end\": 10813,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 380,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 380,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10786,\n                                  \"end\": 10791,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 380,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 380,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"max_y\"\n                                  },\n                                  \"name\": \"max_y\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 10795,\n                                  \"end\": 10813,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 380,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 380,\n                                      \"column\": 36\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10795,\n                                    \"end\": 10802,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 380,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 380,\n                                        \"column\": 25\n                                      },\n                                      \"identifierName\": \"current\"\n                                    },\n                                    \"name\": \"current\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10803,\n                                    \"end\": 10813,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 380,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 380,\n                                        \"column\": 36\n                                      },\n                                      \"identifierName\": \"_bvh_max_y\"\n                                    },\n                                    \"name\": \"_bvh_max_y\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 10818,\n                            \"end\": 10868,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 381,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 381,\n                                \"column\": 53\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 10824,\n                                \"end\": 10867,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 381,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 381,\n                                    \"column\": 52\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10824,\n                                  \"end\": 10829,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 381,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 381,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"right\"\n                                  },\n                                  \"name\": \"right\"\n                                },\n                                \"init\": {\n                                  \"type\": \"ConditionalExpression\",\n                                  \"start\": 10833,\n                                  \"end\": 10867,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 381,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 381,\n                                      \"column\": 52\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10833,\n                                    \"end\": 10839,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 381,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 381,\n                                        \"column\": 24\n                                      },\n                                      \"identifierName\": \"branch\"\n                                    },\n                                    \"name\": \"branch\"\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 10842,\n                                    \"end\": 10860,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 381,\n                                        \"column\": 27\n                                      },\n                                      \"end\": {\n                                        \"line\": 381,\n                                        \"column\": 45\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10842,\n                                      \"end\": 10849,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 381,\n                                          \"column\": 27\n                                        },\n                                        \"end\": {\n                                          \"line\": 381,\n                                          \"column\": 34\n                                        },\n                                        \"identifierName\": \"current\"\n                                      },\n                                      \"name\": \"current\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10850,\n                                      \"end\": 10860,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 381,\n                                          \"column\": 35\n                                        },\n                                        \"end\": {\n                                          \"line\": 381,\n                                          \"column\": 45\n                                        },\n                                        \"identifierName\": \"_bvh_right\"\n                                      },\n                                      \"name\": \"_bvh_right\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"NullLiteral\",\n                                    \"start\": 10863,\n                                    \"end\": 10867,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 381,\n                                        \"column\": 48\n                                      },\n                                      \"end\": {\n                                        \"line\": 381,\n                                        \"column\": 52\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 10873,\n                            \"end\": 10902,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 383,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 383,\n                                \"column\": 32\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 10873,\n                              \"end\": 10901,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 383,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 383,\n                                  \"column\": 31\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 10873,\n                                \"end\": 10887,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 383,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 383,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10873,\n                                  \"end\": 10880,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 383,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 383,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10881,\n                                  \"end\": 10887,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 383,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 383,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"moveTo\"\n                                  },\n                                  \"name\": \"moveTo\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10888,\n                                  \"end\": 10893,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 383,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 383,\n                                      \"column\": 23\n                                    },\n                                    \"identifierName\": \"min_x\"\n                                  },\n                                  \"name\": \"min_x\"\n                                },\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10895,\n                                  \"end\": 10900,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 383,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 383,\n                                      \"column\": 30\n                                    },\n                                    \"identifierName\": \"min_y\"\n                                  },\n                                  \"name\": \"min_y\"\n                                }\n                              ]\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 10906,\n                            \"end\": 10935,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 384,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 384,\n                                \"column\": 32\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 10906,\n                              \"end\": 10934,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 384,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 384,\n                                  \"column\": 31\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 10906,\n                                \"end\": 10920,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 384,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 384,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10906,\n                                  \"end\": 10913,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 384,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 384,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10914,\n                                  \"end\": 10920,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 384,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 384,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"lineTo\"\n                                  },\n                                  \"name\": \"lineTo\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10921,\n                                  \"end\": 10926,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 384,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 384,\n                                      \"column\": 23\n                                    },\n                                    \"identifierName\": \"max_x\"\n                                  },\n                                  \"name\": \"max_x\"\n                                },\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10928,\n                                  \"end\": 10933,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 384,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 384,\n                                      \"column\": 30\n                                    },\n                                    \"identifierName\": \"min_y\"\n                                  },\n                                  \"name\": \"min_y\"\n                                }\n                              ]\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 10939,\n                            \"end\": 10968,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 385,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 385,\n                                \"column\": 32\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 10939,\n                              \"end\": 10967,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 385,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 385,\n                                  \"column\": 31\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 10939,\n                                \"end\": 10953,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 385,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 385,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10939,\n                                  \"end\": 10946,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 385,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 385,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10947,\n                                  \"end\": 10953,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 385,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 385,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"lineTo\"\n                                  },\n                                  \"name\": \"lineTo\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10954,\n                                  \"end\": 10959,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 385,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 385,\n                                      \"column\": 23\n                                    },\n                                    \"identifierName\": \"max_x\"\n                                  },\n                                  \"name\": \"max_x\"\n                                },\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10961,\n                                  \"end\": 10966,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 385,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 385,\n                                      \"column\": 30\n                                    },\n                                    \"identifierName\": \"max_y\"\n                                  },\n                                  \"name\": \"max_y\"\n                                }\n                              ]\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 10972,\n                            \"end\": 11001,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 386,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 386,\n                                \"column\": 32\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 10972,\n                              \"end\": 11000,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 386,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 386,\n                                  \"column\": 31\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 10972,\n                                \"end\": 10986,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 386,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 386,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10972,\n                                  \"end\": 10979,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 386,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 386,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10980,\n                                  \"end\": 10986,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 386,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 386,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"lineTo\"\n                                  },\n                                  \"name\": \"lineTo\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10987,\n                                  \"end\": 10992,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 386,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 386,\n                                      \"column\": 23\n                                    },\n                                    \"identifierName\": \"min_x\"\n                                  },\n                                  \"name\": \"min_x\"\n                                },\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 10994,\n                                  \"end\": 10999,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 386,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 386,\n                                      \"column\": 30\n                                    },\n                                    \"identifierName\": \"max_y\"\n                                  },\n                                  \"name\": \"max_y\"\n                                }\n                              ]\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 11005,\n                            \"end\": 11034,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 387,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 387,\n                                \"column\": 32\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 11005,\n                              \"end\": 11033,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 387,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 387,\n                                  \"column\": 31\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 11005,\n                                \"end\": 11019,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 387,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 387,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 11005,\n                                  \"end\": 11012,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 387,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 387,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 11013,\n                                  \"end\": 11019,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 387,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 387,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"lineTo\"\n                                  },\n                                  \"name\": \"lineTo\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 11020,\n                                  \"end\": 11025,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 387,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 387,\n                                      \"column\": 23\n                                    },\n                                    \"identifierName\": \"min_x\"\n                                  },\n                                  \"name\": \"min_x\"\n                                },\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 11027,\n                                  \"end\": 11032,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 387,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 387,\n                                      \"column\": 30\n                                    },\n                                    \"identifierName\": \"min_y\"\n                                  },\n                                  \"name\": \"min_y\"\n                                }\n                              ]\n                            }\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 11039,\n                            \"end\": 11360,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 389,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 407,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 11042,\n                              \"end\": 11047,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 389,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 389,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"right\"\n                              },\n                              \"name\": \"right\"\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 11049,\n                              \"end\": 11108,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 389,\n                                  \"column\": 13\n                                },\n                                \"end\": {\n                                  \"line\": 392,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 11055,\n                                  \"end\": 11077,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 390,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 390,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 11055,\n                                    \"end\": 11076,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 390,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 390,\n                                        \"column\": 25\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 11055,\n                                      \"end\": 11062,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 390,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 390,\n                                          \"column\": 11\n                                        },\n                                        \"identifierName\": \"current\"\n                                      },\n                                      \"name\": \"current\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 11071,\n                                      \"end\": 11076,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 390,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 390,\n                                          \"column\": 25\n                                        },\n                                        \"identifierName\": \"right\"\n                                      },\n                                      \"name\": \"right\"\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 11082,\n                                  \"end\": 11103,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 391,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 391,\n                                      \"column\": 25\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 11082,\n                                    \"end\": 11102,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 391,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 391,\n                                        \"column\": 24\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 11082,\n                                      \"end\": 11095,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 391,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 391,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"traverse_left\"\n                                      },\n                                      \"name\": \"traverse_left\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"BooleanLiteral\",\n                                      \"start\": 11098,\n                                      \"end\": 11102,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 391,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 391,\n                                          \"column\": 24\n                                        }\n                                      },\n                                      \"value\": true\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 11117,\n                              \"end\": 11360,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 393,\n                                  \"column\": 8\n                                },\n                                \"end\": {\n                                  \"line\": 407,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 11123,\n                                  \"end\": 11156,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 394,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 394,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 11127,\n                                      \"end\": 11155,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 394,\n                                          \"column\": 8\n                                        },\n                                        \"end\": {\n                                          \"line\": 394,\n                                          \"column\": 36\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 11127,\n                                        \"end\": 11133,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 394,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 394,\n                                            \"column\": 14\n                                          },\n                                          \"identifierName\": \"parent\"\n                                        },\n                                        \"name\": \"parent\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 11136,\n                                        \"end\": 11155,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 394,\n                                            \"column\": 17\n                                          },\n                                          \"end\": {\n                                            \"line\": 394,\n                                            \"column\": 36\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 11136,\n                                          \"end\": 11143,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 394,\n                                              \"column\": 17\n                                            },\n                                            \"end\": {\n                                              \"line\": 394,\n                                              \"column\": 24\n                                            },\n                                            \"identifierName\": \"current\"\n                                          },\n                                          \"name\": \"current\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 11144,\n                                          \"end\": 11155,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 394,\n                                              \"column\": 25\n                                            },\n                                            \"end\": {\n                                              \"line\": 394,\n                                              \"column\": 36\n                                            },\n                                            \"identifierName\": \"_bvh_parent\"\n                                          },\n                                          \"name\": \"_bvh_parent\"\n                                        },\n                                        \"computed\": false\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"let\"\n                                },\n                                {\n                                  \"type\": \"IfStatement\",\n                                  \"start\": 11162,\n                                  \"end\": 11355,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 396,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 406,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 11165,\n                                    \"end\": 11171,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 396,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 396,\n                                        \"column\": 13\n                                      },\n                                      \"identifierName\": \"parent\"\n                                    },\n                                    \"name\": \"parent\"\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 11173,\n                                    \"end\": 11326,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 396,\n                                        \"column\": 15\n                                      },\n                                      \"end\": {\n                                        \"line\": 403,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"WhileStatement\",\n                                        \"start\": 11180,\n                                        \"end\": 11296,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 397,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 400,\n                                            \"column\": 6\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"LogicalExpression\",\n                                          \"start\": 11186,\n                                          \"end\": 11225,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 397,\n                                              \"column\": 11\n                                            },\n                                            \"end\": {\n                                              \"line\": 397,\n                                              \"column\": 50\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 11186,\n                                            \"end\": 11192,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 397,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 397,\n                                                \"column\": 17\n                                              },\n                                              \"identifierName\": \"parent\"\n                                            },\n                                            \"name\": \"parent\"\n                                          },\n                                          \"operator\": \"&&\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 11196,\n                                            \"end\": 11225,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 397,\n                                                \"column\": 21\n                                              },\n                                              \"end\": {\n                                                \"line\": 397,\n                                                \"column\": 50\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"MemberExpression\",\n                                              \"start\": 11196,\n                                              \"end\": 11213,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 397,\n                                                  \"column\": 21\n                                                },\n                                                \"end\": {\n                                                  \"line\": 397,\n                                                  \"column\": 38\n                                                }\n                                              },\n                                              \"object\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 11196,\n                                                \"end\": 11202,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 397,\n                                                    \"column\": 21\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 397,\n                                                    \"column\": 27\n                                                  },\n                                                  \"identifierName\": \"parent\"\n                                                },\n                                                \"name\": \"parent\"\n                                              },\n                                              \"property\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 11203,\n                                                \"end\": 11213,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 397,\n                                                    \"column\": 28\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 397,\n                                                    \"column\": 38\n                                                  },\n                                                  \"identifierName\": \"_bvh_right\"\n                                                },\n                                                \"name\": \"_bvh_right\"\n                                              },\n                                              \"computed\": false\n                                            },\n                                            \"operator\": \"===\",\n                                            \"right\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 11218,\n                                              \"end\": 11225,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 397,\n                                                  \"column\": 43\n                                                },\n                                                \"end\": {\n                                                  \"line\": 397,\n                                                  \"column\": 50\n                                                },\n                                                \"identifierName\": \"current\"\n                                              },\n                                              \"name\": \"current\"\n                                            }\n                                          }\n                                        },\n                                        \"body\": {\n                                          \"type\": \"BlockStatement\",\n                                          \"start\": 11227,\n                                          \"end\": 11296,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 397,\n                                              \"column\": 52\n                                            },\n                                            \"end\": {\n                                              \"line\": 400,\n                                              \"column\": 6\n                                            }\n                                          },\n                                          \"body\": [\n                                            {\n                                              \"type\": \"ExpressionStatement\",\n                                              \"start\": 11235,\n                                              \"end\": 11252,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 398,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 398,\n                                                  \"column\": 23\n                                                }\n                                              },\n                                              \"expression\": {\n                                                \"type\": \"AssignmentExpression\",\n                                                \"start\": 11235,\n                                                \"end\": 11251,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 398,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 398,\n                                                    \"column\": 22\n                                                  }\n                                                },\n                                                \"operator\": \"=\",\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 11235,\n                                                  \"end\": 11242,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 398,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 398,\n                                                      \"column\": 13\n                                                    },\n                                                    \"identifierName\": \"current\"\n                                                  },\n                                                  \"name\": \"current\"\n                                                },\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 11245,\n                                                  \"end\": 11251,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 398,\n                                                      \"column\": 16\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 398,\n                                                      \"column\": 22\n                                                    },\n                                                    \"identifierName\": \"parent\"\n                                                  },\n                                                  \"name\": \"parent\"\n                                                }\n                                              }\n                                            },\n                                            {\n                                              \"type\": \"ExpressionStatement\",\n                                              \"start\": 11259,\n                                              \"end\": 11289,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 399,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 399,\n                                                  \"column\": 36\n                                                }\n                                              },\n                                              \"expression\": {\n                                                \"type\": \"AssignmentExpression\",\n                                                \"start\": 11259,\n                                                \"end\": 11288,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 399,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 399,\n                                                    \"column\": 35\n                                                  }\n                                                },\n                                                \"operator\": \"=\",\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 11259,\n                                                  \"end\": 11265,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 399,\n                                                      \"column\": 6\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 399,\n                                                      \"column\": 12\n                                                    },\n                                                    \"identifierName\": \"parent\"\n                                                  },\n                                                  \"name\": \"parent\"\n                                                },\n                                                \"right\": {\n                                                  \"type\": \"MemberExpression\",\n                                                  \"start\": 11269,\n                                                  \"end\": 11288,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 399,\n                                                      \"column\": 16\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 399,\n                                                      \"column\": 35\n                                                    }\n                                                  },\n                                                  \"object\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 11269,\n                                                    \"end\": 11276,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 399,\n                                                        \"column\": 16\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 399,\n                                                        \"column\": 23\n                                                      },\n                                                      \"identifierName\": \"current\"\n                                                    },\n                                                    \"name\": \"current\"\n                                                  },\n                                                  \"property\": {\n                                                    \"type\": \"Identifier\",\n                                                    \"start\": 11277,\n                                                    \"end\": 11288,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 399,\n                                                        \"column\": 24\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 399,\n                                                        \"column\": 35\n                                                      },\n                                                      \"identifierName\": \"_bvh_parent\"\n                                                    },\n                                                    \"name\": \"_bvh_parent\"\n                                                  },\n                                                  \"computed\": false\n                                                }\n                                              }\n                                            }\n                                          ],\n                                          \"directives\": []\n                                        }\n                                      },\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 11303,\n                                        \"end\": 11320,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 402,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 402,\n                                            \"column\": 22\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 11303,\n                                          \"end\": 11319,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 402,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 402,\n                                              \"column\": 21\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 11303,\n                                            \"end\": 11310,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 402,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 402,\n                                                \"column\": 12\n                                              },\n                                              \"identifierName\": \"current\"\n                                            },\n                                            \"name\": \"current\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 11313,\n                                            \"end\": 11319,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 402,\n                                                \"column\": 15\n                                              },\n                                              \"end\": {\n                                                \"line\": 402,\n                                                \"column\": 21\n                                              },\n                                              \"identifierName\": \"parent\"\n                                            },\n                                            \"name\": \"parent\"\n                                          }\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 11336,\n                                    \"end\": 11355,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 404,\n                                        \"column\": 9\n                                      },\n                                      \"end\": {\n                                        \"line\": 406,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"BreakStatement\",\n                                        \"start\": 11343,\n                                        \"end\": 11349,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 405,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 405,\n                                            \"column\": 11\n                                          }\n                                        },\n                                        \"label\": null\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n                    \"start\": 10078,\n                    \"end\": 10287,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 356,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 359,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\\n * @class\\n * @private\\n \",\n              \"start\": 42,\n              \"end\": 150,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 3,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 7,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\\n * @class\\n * @private\\n \",\n            \"start\": 42,\n            \"end\": 150,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 11369,\n        \"end\": 11370,\n        \"loc\": {\n          \"start\": {\n            \"line\": 410,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 410,\n            \"column\": 2\n          }\n        }\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\\n * @class\\n * @private\\n \",\n      \"start\": 42,\n      \"end\": 150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 179,\n      \"end\": 204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 9,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 224,\n      \"end\": 239,\n      \"loc\": {\n        \"start\": {\n          \"line\": 13,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 13,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 269,\n      \"end\": 284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 309,\n      \"end\": 324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Inserts a body into the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to insert\\n\\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\\n\\t \",\n      \"start\": 359,\n      \"end\": 599,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Branch\",\n      \"start\": 1845,\n      \"end\": 1854,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Leaf\",\n      \"start\": 3975,\n      \"end\": 3982,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Removes a body from the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to remove\\n\\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\\n\\t \",\n      \"start\": 5074,\n      \"end\": 5307,\n      \"loc\": {\n        \"start\": {\n          \"line\": 146,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 150,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Updates the BVH. Moved bodies are removed/inserted.\\n\\t \",\n      \"start\": 7018,\n      \"end\": 7082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test\\n\\t * @returns {Array<Body>}\\n\\t \",\n      \"start\": 8256,\n      \"end\": 8401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 269,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 273,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 9766,\n      \"end\": 9924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 343,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 346,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 10078,\n      \"end\": 10287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 356,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 359,\n          \"column\": 4\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 0,\n      \"end\": 6,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVHBranch\",\n      \"start\": 7,\n      \"end\": 16,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 17,\n      \"end\": 21,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./BVHBranch.mjs\",\n      \"start\": 22,\n      \"end\": 39,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 39,\n      \"end\": 40,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\\n * @class\\n * @private\\n \",\n      \"start\": 42,\n      \"end\": 150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 151,\n      \"end\": 157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 8,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 158,\n      \"end\": 165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 8,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 166,\n      \"end\": 171,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 8,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVH\",\n      \"start\": 172,\n      \"end\": 175,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 8,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 176,\n      \"end\": 177,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 8,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 179,\n      \"end\": 204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 9,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 206,\n      \"end\": 217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 217,\n      \"end\": 218,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 218,\n      \"end\": 219,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 220,\n      \"end\": 221,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 224,\n      \"end\": 239,\n      \"loc\": {\n        \"start\": {\n          \"line\": 13,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 13,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 242,\n      \"end\": 246,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 246,\n      \"end\": 247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 247,\n      \"end\": 257,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 258,\n      \"end\": 259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 260,\n      \"end\": 264,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 264,\n      \"end\": 265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 269,\n      \"end\": 284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 287,\n      \"end\": 291,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 291,\n      \"end\": 292,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bodies\",\n      \"start\": 292,\n      \"end\": 299,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 300,\n      \"end\": 301,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 302,\n      \"end\": 303,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 303,\n      \"end\": 304,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 304,\n      \"end\": 305,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 309,\n      \"end\": 324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 327,\n      \"end\": 331,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 331,\n      \"end\": 332,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_branches\",\n      \"start\": 332,\n      \"end\": 347,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 348,\n      \"end\": 349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 350,\n      \"end\": 351,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 351,\n      \"end\": 352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 352,\n      \"end\": 353,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 355,\n      \"end\": 356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Inserts a body into the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to insert\\n\\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\\n\\t \",\n      \"start\": 359,\n      \"end\": 599,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"insert\",\n      \"start\": 601,\n      \"end\": 607,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 607,\n      \"end\": 608,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 608,\n      \"end\": 612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 612,\n      \"end\": 613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"updating\",\n      \"start\": 614,\n      \"end\": 622,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 623,\n      \"end\": 624,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 625,\n      \"end\": 630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 630,\n      \"end\": 631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 632,\n      \"end\": 633,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 636,\n      \"end\": 638,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 638,\n      \"end\": 639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 639,\n      \"end\": 640,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"updating\",\n      \"start\": 640,\n      \"end\": 648,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 648,\n      \"end\": 649,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 650,\n      \"end\": 651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 655,\n      \"end\": 660,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 661,\n      \"end\": 664,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 665,\n      \"end\": 666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 667,\n      \"end\": 671,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 671,\n      \"end\": 672,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 672,\n      \"end\": 676,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 676,\n      \"end\": 677,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 682,\n      \"end\": 684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 684,\n      \"end\": 685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 685,\n      \"end\": 688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 689,\n      \"end\": 691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 692,\n      \"end\": 695,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 696,\n      \"end\": 699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 700,\n      \"end\": 704,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 704,\n      \"end\": 705,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 706,\n      \"end\": 707,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"throw\",\n        \"keyword\": \"throw\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"throw\",\n      \"start\": 712,\n      \"end\": 717,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 718,\n      \"end\": 721,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Error\",\n      \"start\": 722,\n      \"end\": 727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 727,\n      \"end\": 728,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"Body belongs to another collision system\",\n      \"start\": 728,\n      \"end\": 770,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 770,\n      \"end\": 771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 771,\n      \"end\": 772,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 776,\n      \"end\": 777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 782,\n      \"end\": 786,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 786,\n      \"end\": 787,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 787,\n      \"end\": 791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 792,\n      \"end\": 793,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 794,\n      \"end\": 798,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 798,\n      \"end\": 799,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 803,\n      \"end\": 807,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 807,\n      \"end\": 808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bodies\",\n      \"start\": 808,\n      \"end\": 815,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 815,\n      \"end\": 816,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"push\",\n      \"start\": 816,\n      \"end\": 820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 820,\n      \"end\": 821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 821,\n      \"end\": 825,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 825,\n      \"end\": 826,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 826,\n      \"end\": 827,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 830,\n      \"end\": 831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 835,\n      \"end\": 840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 841,\n      \"end\": 848,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 849,\n      \"end\": 850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 851,\n      \"end\": 855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 855,\n      \"end\": 856,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 856,\n      \"end\": 864,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 864,\n      \"end\": 865,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 868,\n      \"end\": 873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_x\",\n      \"start\": 874,\n      \"end\": 880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 882,\n      \"end\": 883,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 884,\n      \"end\": 888,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 888,\n      \"end\": 889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 889,\n      \"end\": 890,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 890,\n      \"end\": 891,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 894,\n      \"end\": 899,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_y\",\n      \"start\": 900,\n      \"end\": 906,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 908,\n      \"end\": 909,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 910,\n      \"end\": 914,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 914,\n      \"end\": 915,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 915,\n      \"end\": 916,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 916,\n      \"end\": 917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 921,\n      \"end\": 923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 923,\n      \"end\": 924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 924,\n      \"end\": 931,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 931,\n      \"end\": 932,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 933,\n      \"end\": 934,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 938,\n      \"end\": 940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 940,\n      \"end\": 941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 946,\n      \"end\": 950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 950,\n      \"end\": 951,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 951,\n      \"end\": 964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 965,\n      \"end\": 967,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 972,\n      \"end\": 976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 976,\n      \"end\": 977,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 977,\n      \"end\": 978,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 985,\n      \"end\": 988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 989,\n      \"end\": 993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 993,\n      \"end\": 994,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_x\",\n      \"start\": 994,\n      \"end\": 996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 997,\n      \"end\": 999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1004,\n      \"end\": 1008,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1008,\n      \"end\": 1009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 1009,\n      \"end\": 1010,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1017,\n      \"end\": 1020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1021,\n      \"end\": 1025,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1025,\n      \"end\": 1026,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_y\",\n      \"start\": 1026,\n      \"end\": 1028,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1029,\n      \"end\": 1031,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1036,\n      \"end\": 1040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1040,\n      \"end\": 1041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 1041,\n      \"end\": 1046,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1049,\n      \"end\": 1052,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1053,\n      \"end\": 1057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1057,\n      \"end\": 1058,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_angle\",\n      \"start\": 1058,\n      \"end\": 1064,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1065,\n      \"end\": 1067,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1072,\n      \"end\": 1076,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1076,\n      \"end\": 1077,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 1077,\n      \"end\": 1084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1085,\n      \"end\": 1088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1089,\n      \"end\": 1093,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1093,\n      \"end\": 1094,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_x\",\n      \"start\": 1094,\n      \"end\": 1102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1103,\n      \"end\": 1105,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1110,\n      \"end\": 1114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1114,\n      \"end\": 1115,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 1115,\n      \"end\": 1122,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1123,\n      \"end\": 1126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1127,\n      \"end\": 1131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1131,\n      \"end\": 1132,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_y\",\n      \"start\": 1132,\n      \"end\": 1140,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1144,\n      \"end\": 1145,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1146,\n      \"end\": 1147,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1152,\n      \"end\": 1156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1156,\n      \"end\": 1157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateCoords\",\n      \"start\": 1157,\n      \"end\": 1173,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1173,\n      \"end\": 1174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1174,\n      \"end\": 1175,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1175,\n      \"end\": 1176,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1180,\n      \"end\": 1181,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1184,\n      \"end\": 1185,\n      \"loc\": {\n        \"start\": {\n          \"line\": 55,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 55,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1189,\n      \"end\": 1194,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1195,\n      \"end\": 1202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1206,\n      \"end\": 1207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1208,\n      \"end\": 1212,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1212,\n      \"end\": 1213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_padding\",\n      \"start\": 1213,\n      \"end\": 1225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1225,\n      \"end\": 1226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1229,\n      \"end\": 1234,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 1235,\n      \"end\": 1241,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1246,\n      \"end\": 1247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 1248,\n      \"end\": 1255,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1256,\n      \"end\": 1257,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1258,\n      \"end\": 1259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1260,\n      \"end\": 1261,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1262,\n      \"end\": 1266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1266,\n      \"end\": 1267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 1267,\n      \"end\": 1273,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 1274,\n      \"end\": 1275,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1276,\n      \"end\": 1280,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1280,\n      \"end\": 1281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 1281,\n      \"end\": 1286,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1286,\n      \"end\": 1287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1290,\n      \"end\": 1295,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 1296,\n      \"end\": 1306,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1307,\n      \"end\": 1308,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1309,\n      \"end\": 1310,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 1310,\n      \"end\": 1317,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1318,\n      \"end\": 1319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1320,\n      \"end\": 1324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1324,\n      \"end\": 1325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_x\",\n      \"start\": 1325,\n      \"end\": 1331,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1332,\n      \"end\": 1333,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_x\",\n      \"start\": 1334,\n      \"end\": 1340,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 1341,\n      \"end\": 1342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 1343,\n      \"end\": 1349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1349,\n      \"end\": 1350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 1351,\n      \"end\": 1352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1353,\n      \"end\": 1360,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 72\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1360,\n      \"end\": 1361,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 72\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1364,\n      \"end\": 1369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 1370,\n      \"end\": 1380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1381,\n      \"end\": 1382,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1383,\n      \"end\": 1384,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 1384,\n      \"end\": 1391,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1392,\n      \"end\": 1393,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1394,\n      \"end\": 1398,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1398,\n      \"end\": 1399,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_y\",\n      \"start\": 1399,\n      \"end\": 1405,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1406,\n      \"end\": 1407,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_y\",\n      \"start\": 1408,\n      \"end\": 1414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 1415,\n      \"end\": 1416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 1417,\n      \"end\": 1423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1423,\n      \"end\": 1424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 1425,\n      \"end\": 1426,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1427,\n      \"end\": 1434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 72\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1434,\n      \"end\": 1435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 72\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1438,\n      \"end\": 1443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 1444,\n      \"end\": 1454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1455,\n      \"end\": 1456,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1457,\n      \"end\": 1458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 1458,\n      \"end\": 1465,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1466,\n      \"end\": 1467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1468,\n      \"end\": 1472,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1472,\n      \"end\": 1473,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_x\",\n      \"start\": 1473,\n      \"end\": 1479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1480,\n      \"end\": 1481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_x\",\n      \"start\": 1482,\n      \"end\": 1488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 1489,\n      \"end\": 1490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 1491,\n      \"end\": 1497,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1497,\n      \"end\": 1498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 1499,\n      \"end\": 1500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1501,\n      \"end\": 1508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 72\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1508,\n      \"end\": 1509,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 72\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1512,\n      \"end\": 1517,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 1518,\n      \"end\": 1528,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1529,\n      \"end\": 1530,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1531,\n      \"end\": 1532,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 1532,\n      \"end\": 1539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1540,\n      \"end\": 1541,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1542,\n      \"end\": 1546,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1546,\n      \"end\": 1547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_y\",\n      \"start\": 1547,\n      \"end\": 1553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1554,\n      \"end\": 1555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_y\",\n      \"start\": 1556,\n      \"end\": 1562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 1563,\n      \"end\": 1564,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 1565,\n      \"end\": 1571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1571,\n      \"end\": 1572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 1573,\n      \"end\": 1574,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1575,\n      \"end\": 1582,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 72\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1582,\n      \"end\": 1583,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 72\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1587,\n      \"end\": 1591,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1591,\n      \"end\": 1592,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 1592,\n      \"end\": 1602,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1603,\n      \"end\": 1604,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 1605,\n      \"end\": 1615,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1615,\n      \"end\": 1616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1619,\n      \"end\": 1623,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1623,\n      \"end\": 1624,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 1624,\n      \"end\": 1634,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1635,\n      \"end\": 1636,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 1637,\n      \"end\": 1647,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1647,\n      \"end\": 1648,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1651,\n      \"end\": 1655,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1655,\n      \"end\": 1656,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 1656,\n      \"end\": 1666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1667,\n      \"end\": 1668,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 1669,\n      \"end\": 1679,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1679,\n      \"end\": 1680,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1683,\n      \"end\": 1687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1687,\n      \"end\": 1688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 1688,\n      \"end\": 1698,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1699,\n      \"end\": 1700,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 1701,\n      \"end\": 1711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1711,\n      \"end\": 1712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 1716,\n      \"end\": 1719,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 1720,\n      \"end\": 1727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1728,\n      \"end\": 1729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1730,\n      \"end\": 1734,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1734,\n      \"end\": 1735,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 1735,\n      \"end\": 1745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1745,\n      \"end\": 1746,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 1749,\n      \"end\": 1752,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sort\",\n      \"start\": 1753,\n      \"end\": 1757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1761,\n      \"end\": 1762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1763,\n      \"end\": 1764,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1764,\n      \"end\": 1765,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1769,\n      \"end\": 1771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1771,\n      \"end\": 1772,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 1772,\n      \"end\": 1773,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 1773,\n      \"end\": 1780,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1780,\n      \"end\": 1781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1782,\n      \"end\": 1783,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1787,\n      \"end\": 1791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1791,\n      \"end\": 1792,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 1792,\n      \"end\": 1802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1803,\n      \"end\": 1804,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 1805,\n      \"end\": 1809,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1809,\n      \"end\": 1810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1813,\n      \"end\": 1814,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 1817,\n      \"end\": 1821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 75,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1822,\n      \"end\": 1823,\n      \"loc\": {\n        \"start\": {\n          \"line\": 75,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 1827,\n      \"end\": 1832,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1832,\n      \"end\": 1833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 1833,\n      \"end\": 1837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1837,\n      \"end\": 1838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1839,\n      \"end\": 1840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Branch\",\n      \"start\": 1845,\n      \"end\": 1854,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1859,\n      \"end\": 1861,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1861,\n      \"end\": 1862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 1862,\n      \"end\": 1869,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1869,\n      \"end\": 1870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 1870,\n      \"end\": 1881,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1881,\n      \"end\": 1882,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1883,\n      \"end\": 1884,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1890,\n      \"end\": 1895,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 1896,\n      \"end\": 1900,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1912,\n      \"end\": 1913,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 1914,\n      \"end\": 1921,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1921,\n      \"end\": 1922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 1922,\n      \"end\": 1931,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1931,\n      \"end\": 1932,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1938,\n      \"end\": 1943,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_y\",\n      \"start\": 1944,\n      \"end\": 1954,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1960,\n      \"end\": 1961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 1962,\n      \"end\": 1966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1966,\n      \"end\": 1967,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 1967,\n      \"end\": 1977,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1977,\n      \"end\": 1978,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1984,\n      \"end\": 1989,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_x\",\n      \"start\": 1990,\n      \"end\": 2000,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2006,\n      \"end\": 2007,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 2008,\n      \"end\": 2012,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2012,\n      \"end\": 2013,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 2013,\n      \"end\": 2023,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2023,\n      \"end\": 2024,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2030,\n      \"end\": 2035,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_y\",\n      \"start\": 2036,\n      \"end\": 2046,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2052,\n      \"end\": 2053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 2054,\n      \"end\": 2058,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2058,\n      \"end\": 2059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 2059,\n      \"end\": 2069,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2069,\n      \"end\": 2070,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2076,\n      \"end\": 2081,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_x\",\n      \"start\": 2082,\n      \"end\": 2096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2098,\n      \"end\": 2099,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 2100,\n      \"end\": 2110,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 2111,\n      \"end\": 2112,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 2113,\n      \"end\": 2117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2117,\n      \"end\": 2118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 2118,\n      \"end\": 2128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2129,\n      \"end\": 2130,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 2131,\n      \"end\": 2141,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2142,\n      \"end\": 2143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 72\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 2144,\n      \"end\": 2148,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 73\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2148,\n      \"end\": 2149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 77\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 2149,\n      \"end\": 2159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 88\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2159,\n      \"end\": 2160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 88\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 89\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2166,\n      \"end\": 2171,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_y\",\n      \"start\": 2172,\n      \"end\": 2186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2188,\n      \"end\": 2189,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 2190,\n      \"end\": 2200,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 2201,\n      \"end\": 2202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_y\",\n      \"start\": 2203,\n      \"end\": 2213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2214,\n      \"end\": 2215,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 2216,\n      \"end\": 2226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2227,\n      \"end\": 2228,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_y\",\n      \"start\": 2229,\n      \"end\": 2239,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2239,\n      \"end\": 2240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2246,\n      \"end\": 2251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_x\",\n      \"start\": 2252,\n      \"end\": 2266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2268,\n      \"end\": 2269,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 2270,\n      \"end\": 2280,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 2281,\n      \"end\": 2282,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_x\",\n      \"start\": 2283,\n      \"end\": 2293,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2294,\n      \"end\": 2295,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 2296,\n      \"end\": 2306,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2307,\n      \"end\": 2308,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_x\",\n      \"start\": 2309,\n      \"end\": 2319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2319,\n      \"end\": 2320,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2326,\n      \"end\": 2331,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_y\",\n      \"start\": 2332,\n      \"end\": 2346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2348,\n      \"end\": 2349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 2350,\n      \"end\": 2360,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 2361,\n      \"end\": 2362,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_y\",\n      \"start\": 2363,\n      \"end\": 2373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2374,\n      \"end\": 2375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 2376,\n      \"end\": 2386,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2387,\n      \"end\": 2388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_y\",\n      \"start\": 2389,\n      \"end\": 2399,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2399,\n      \"end\": 2400,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2406,\n      \"end\": 2411,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_volume\",\n      \"start\": 2412,\n      \"end\": 2423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2428,\n      \"end\": 2429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2430,\n      \"end\": 2431,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_x\",\n      \"start\": 2431,\n      \"end\": 2441,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2442,\n      \"end\": 2443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 2444,\n      \"end\": 2448,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2448,\n      \"end\": 2449,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 2449,\n      \"end\": 2459,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2459,\n      \"end\": 2460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 2461,\n      \"end\": 2462,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2463,\n      \"end\": 2464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_y\",\n      \"start\": 2464,\n      \"end\": 2474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2475,\n      \"end\": 2476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 74\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_y\",\n      \"start\": 2477,\n      \"end\": 2487,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 86\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2487,\n      \"end\": 2488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 86\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 87\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2488,\n      \"end\": 2489,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 87\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 88\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2495,\n      \"end\": 2500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_volume\",\n      \"start\": 2501,\n      \"end\": 2516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2517,\n      \"end\": 2518,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2519,\n      \"end\": 2520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_x\",\n      \"start\": 2520,\n      \"end\": 2534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2535,\n      \"end\": 2536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_x\",\n      \"start\": 2537,\n      \"end\": 2551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2551,\n      \"end\": 2552,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 2553,\n      \"end\": 2554,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2555,\n      \"end\": 2556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_y\",\n      \"start\": 2556,\n      \"end\": 2570,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 80\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2571,\n      \"end\": 2572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 82\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_y\",\n      \"start\": 2573,\n      \"end\": 2587,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 83\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 97\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2587,\n      \"end\": 2588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 97\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 98\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2588,\n      \"end\": 2589,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 98\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 99\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2595,\n      \"end\": 2600,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_difference\",\n      \"start\": 2601,\n      \"end\": 2616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2617,\n      \"end\": 2618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_volume\",\n      \"start\": 2619,\n      \"end\": 2634,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2635,\n      \"end\": 2636,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_volume\",\n      \"start\": 2637,\n      \"end\": 2648,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2648,\n      \"end\": 2649,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2656,\n      \"end\": 2661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 2662,\n      \"end\": 2667,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2679,\n      \"end\": 2680,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 2681,\n      \"end\": 2688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2688,\n      \"end\": 2689,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 2689,\n      \"end\": 2699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2699,\n      \"end\": 2700,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2706,\n      \"end\": 2711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_x\",\n      \"start\": 2712,\n      \"end\": 2723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2729,\n      \"end\": 2730,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 2731,\n      \"end\": 2736,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2736,\n      \"end\": 2737,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 2737,\n      \"end\": 2747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2747,\n      \"end\": 2748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2754,\n      \"end\": 2759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_y\",\n      \"start\": 2760,\n      \"end\": 2771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2777,\n      \"end\": 2778,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 2779,\n      \"end\": 2784,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2784,\n      \"end\": 2785,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 2785,\n      \"end\": 2795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2795,\n      \"end\": 2796,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2802,\n      \"end\": 2807,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_x\",\n      \"start\": 2808,\n      \"end\": 2819,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2825,\n      \"end\": 2826,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 2827,\n      \"end\": 2832,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2832,\n      \"end\": 2833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 2833,\n      \"end\": 2843,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2843,\n      \"end\": 2844,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2850,\n      \"end\": 2855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_y\",\n      \"start\": 2856,\n      \"end\": 2867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2873,\n      \"end\": 2874,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 2875,\n      \"end\": 2880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2880,\n      \"end\": 2881,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 2881,\n      \"end\": 2891,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2891,\n      \"end\": 2892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2898,\n      \"end\": 2903,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_x\",\n      \"start\": 2904,\n      \"end\": 2919,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2921,\n      \"end\": 2922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 2923,\n      \"end\": 2933,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 2934,\n      \"end\": 2935,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_x\",\n      \"start\": 2936,\n      \"end\": 2947,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2948,\n      \"end\": 2949,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 2950,\n      \"end\": 2960,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2961,\n      \"end\": 2962,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_x\",\n      \"start\": 2963,\n      \"end\": 2974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 70\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2974,\n      \"end\": 2975,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 82\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2981,\n      \"end\": 2986,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_y\",\n      \"start\": 2987,\n      \"end\": 3002,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3004,\n      \"end\": 3005,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 3006,\n      \"end\": 3016,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 3017,\n      \"end\": 3018,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_y\",\n      \"start\": 3019,\n      \"end\": 3030,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3031,\n      \"end\": 3032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 3033,\n      \"end\": 3043,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3044,\n      \"end\": 3045,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_y\",\n      \"start\": 3046,\n      \"end\": 3057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 70\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3057,\n      \"end\": 3058,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 82\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3064,\n      \"end\": 3069,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_x\",\n      \"start\": 3070,\n      \"end\": 3085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3087,\n      \"end\": 3088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 3089,\n      \"end\": 3099,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 3100,\n      \"end\": 3101,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_x\",\n      \"start\": 3102,\n      \"end\": 3113,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3114,\n      \"end\": 3115,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 3116,\n      \"end\": 3126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3127,\n      \"end\": 3128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_x\",\n      \"start\": 3129,\n      \"end\": 3140,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 70\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3140,\n      \"end\": 3141,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 82\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3147,\n      \"end\": 3152,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_y\",\n      \"start\": 3153,\n      \"end\": 3168,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3170,\n      \"end\": 3171,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 3172,\n      \"end\": 3182,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 3183,\n      \"end\": 3184,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_y\",\n      \"start\": 3185,\n      \"end\": 3196,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3197,\n      \"end\": 3198,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 3199,\n      \"end\": 3209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3210,\n      \"end\": 3211,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_y\",\n      \"start\": 3212,\n      \"end\": 3223,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 70\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3223,\n      \"end\": 3224,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 82\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3230,\n      \"end\": 3235,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_volume\",\n      \"start\": 3236,\n      \"end\": 3248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3253,\n      \"end\": 3254,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3255,\n      \"end\": 3256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_x\",\n      \"start\": 3256,\n      \"end\": 3267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 3268,\n      \"end\": 3269,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_x\",\n      \"start\": 3270,\n      \"end\": 3281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3281,\n      \"end\": 3282,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3283,\n      \"end\": 3284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3285,\n      \"end\": 3286,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_y\",\n      \"start\": 3286,\n      \"end\": 3297,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 72\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 3298,\n      \"end\": 3299,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 73\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 74\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_y\",\n      \"start\": 3300,\n      \"end\": 3311,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 75\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 86\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3311,\n      \"end\": 3312,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 86\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 87\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3312,\n      \"end\": 3313,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 87\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 88\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3319,\n      \"end\": 3324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_volume\",\n      \"start\": 3325,\n      \"end\": 3341,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3342,\n      \"end\": 3343,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3344,\n      \"end\": 3345,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_x\",\n      \"start\": 3345,\n      \"end\": 3360,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 3361,\n      \"end\": 3362,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_x\",\n      \"start\": 3363,\n      \"end\": 3378,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3378,\n      \"end\": 3379,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3380,\n      \"end\": 3381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3382,\n      \"end\": 3383,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_y\",\n      \"start\": 3383,\n      \"end\": 3398,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 84\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 3399,\n      \"end\": 3400,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 85\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 86\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_y\",\n      \"start\": 3401,\n      \"end\": 3416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 87\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 102\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3416,\n      \"end\": 3417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 102\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 103\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3417,\n      \"end\": 3418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 103\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 104\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3424,\n      \"end\": 3429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_difference\",\n      \"start\": 3430,\n      \"end\": 3446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3447,\n      \"end\": 3448,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_volume\",\n      \"start\": 3449,\n      \"end\": 3465,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 3466,\n      \"end\": 3467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_volume\",\n      \"start\": 3468,\n      \"end\": 3480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3480,\n      \"end\": 3481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 3488,\n      \"end\": 3495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3495,\n      \"end\": 3496,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_sort\",\n      \"start\": 3496,\n      \"end\": 3505,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3507,\n      \"end\": 3508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sort\",\n      \"start\": 3509,\n      \"end\": 3513,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"++/--\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": true,\n        \"binop\": null\n      },\n      \"value\": \"++\",\n      \"start\": 3513,\n      \"end\": 3515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3515,\n      \"end\": 3516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 3522,\n      \"end\": 3529,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3529,\n      \"end\": 3530,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 3530,\n      \"end\": 3540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3541,\n      \"end\": 3542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_x\",\n      \"start\": 3543,\n      \"end\": 3557,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 3558,\n      \"end\": 3559,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_x\",\n      \"start\": 3560,\n      \"end\": 3575,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3576,\n      \"end\": 3577,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_x\",\n      \"start\": 3578,\n      \"end\": 3592,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3593,\n      \"end\": 3594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_x\",\n      \"start\": 3595,\n      \"end\": 3610,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 93\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3610,\n      \"end\": 3611,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 93\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 94\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 3617,\n      \"end\": 3624,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3624,\n      \"end\": 3625,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 3625,\n      \"end\": 3635,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3636,\n      \"end\": 3637,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_y\",\n      \"start\": 3638,\n      \"end\": 3652,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 3653,\n      \"end\": 3654,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_y\",\n      \"start\": 3655,\n      \"end\": 3670,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3671,\n      \"end\": 3672,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_min_y\",\n      \"start\": 3673,\n      \"end\": 3687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3688,\n      \"end\": 3689,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_min_y\",\n      \"start\": 3690,\n      \"end\": 3705,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 93\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3705,\n      \"end\": 3706,\n      \"loc\": {\n        \"start\": {\n          \"line\": 106,\n          \"column\": 93\n        },\n        \"end\": {\n          \"line\": 106,\n          \"column\": 94\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 3712,\n      \"end\": 3719,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3719,\n      \"end\": 3720,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 3720,\n      \"end\": 3730,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3731,\n      \"end\": 3732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_x\",\n      \"start\": 3733,\n      \"end\": 3747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 3748,\n      \"end\": 3749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_x\",\n      \"start\": 3750,\n      \"end\": 3765,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3766,\n      \"end\": 3767,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_x\",\n      \"start\": 3768,\n      \"end\": 3782,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3783,\n      \"end\": 3784,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_x\",\n      \"start\": 3785,\n      \"end\": 3800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 93\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3800,\n      \"end\": 3801,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 93\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 94\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 3807,\n      \"end\": 3814,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3814,\n      \"end\": 3815,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 3815,\n      \"end\": 3825,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3826,\n      \"end\": 3827,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_y\",\n      \"start\": 3828,\n      \"end\": 3842,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 3843,\n      \"end\": 3844,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_y\",\n      \"start\": 3845,\n      \"end\": 3860,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3861,\n      \"end\": 3862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_new_max_y\",\n      \"start\": 3863,\n      \"end\": 3877,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3878,\n      \"end\": 3879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_new_max_y\",\n      \"start\": 3880,\n      \"end\": 3895,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 93\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3895,\n      \"end\": 3896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 93\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 94\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 3903,\n      \"end\": 3910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3911,\n      \"end\": 3912,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_difference\",\n      \"start\": 3913,\n      \"end\": 3928,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<=\",\n      \"start\": 3929,\n      \"end\": 3931,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_difference\",\n      \"start\": 3932,\n      \"end\": 3948,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3949,\n      \"end\": 3950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 3951,\n      \"end\": 3955,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3956,\n      \"end\": 3957,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 3958,\n      \"end\": 3963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3963,\n      \"end\": 3964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3969,\n      \"end\": 3970,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Leaf\",\n      \"start\": 3975,\n      \"end\": 3982,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 3987,\n      \"end\": 3991,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3992,\n      \"end\": 3993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3999,\n      \"end\": 4004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 4005,\n      \"end\": 4016,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4018,\n      \"end\": 4019,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4020,\n      \"end\": 4027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4027,\n      \"end\": 4028,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 4028,\n      \"end\": 4039,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4039,\n      \"end\": 4040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4046,\n      \"end\": 4051,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_min_x\",\n      \"start\": 4052,\n      \"end\": 4064,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4065,\n      \"end\": 4066,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4067,\n      \"end\": 4074,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4074,\n      \"end\": 4075,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 4075,\n      \"end\": 4085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4085,\n      \"end\": 4086,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4092,\n      \"end\": 4097,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_min_y\",\n      \"start\": 4098,\n      \"end\": 4110,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4111,\n      \"end\": 4112,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4113,\n      \"end\": 4120,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4120,\n      \"end\": 4121,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 4121,\n      \"end\": 4131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4131,\n      \"end\": 4132,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4138,\n      \"end\": 4143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_max_x\",\n      \"start\": 4144,\n      \"end\": 4156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4157,\n      \"end\": 4158,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4159,\n      \"end\": 4166,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4166,\n      \"end\": 4167,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 4167,\n      \"end\": 4177,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4177,\n      \"end\": 4178,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4184,\n      \"end\": 4189,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_max_y\",\n      \"start\": 4190,\n      \"end\": 4202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4203,\n      \"end\": 4204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4205,\n      \"end\": 4212,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4212,\n      \"end\": 4213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 4213,\n      \"end\": 4223,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4223,\n      \"end\": 4224,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4230,\n      \"end\": 4235,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4236,\n      \"end\": 4246,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4249,\n      \"end\": 4250,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4251,\n      \"end\": 4258,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4258,\n      \"end\": 4259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 4259,\n      \"end\": 4270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4271,\n      \"end\": 4272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 4273,\n      \"end\": 4277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4277,\n      \"end\": 4278,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 4278,\n      \"end\": 4289,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4290,\n      \"end\": 4291,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVHBranch\",\n      \"start\": 4292,\n      \"end\": 4301,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 76\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4301,\n      \"end\": 4302,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"getBranch\",\n      \"start\": 4302,\n      \"end\": 4311,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 77\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 86\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4311,\n      \"end\": 4312,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 86\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 87\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4312,\n      \"end\": 4313,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 87\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 88\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4313,\n      \"end\": 4314,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 88\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 89\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4321,\n      \"end\": 4331,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4331,\n      \"end\": 4332,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 4332,\n      \"end\": 4343,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4344,\n      \"end\": 4345,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 4346,\n      \"end\": 4357,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4357,\n      \"end\": 4358,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4364,\n      \"end\": 4374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4374,\n      \"end\": 4375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 4375,\n      \"end\": 4384,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4387,\n      \"end\": 4388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4389,\n      \"end\": 4396,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4396,\n      \"end\": 4397,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4403,\n      \"end\": 4413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4413,\n      \"end\": 4414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 4414,\n      \"end\": 4424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4426,\n      \"end\": 4427,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 4428,\n      \"end\": 4432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4432,\n      \"end\": 4433,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4439,\n      \"end\": 4449,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4449,\n      \"end\": 4450,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_sort\",\n      \"start\": 4450,\n      \"end\": 4459,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4462,\n      \"end\": 4463,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sort\",\n      \"start\": 4464,\n      \"end\": 4468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"++/--\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": true,\n        \"binop\": null\n      },\n      \"value\": \"++\",\n      \"start\": 4468,\n      \"end\": 4470,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4470,\n      \"end\": 4471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4477,\n      \"end\": 4487,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4487,\n      \"end\": 4488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 4488,\n      \"end\": 4498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4500,\n      \"end\": 4501,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 4502,\n      \"end\": 4512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 4513,\n      \"end\": 4514,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_min_x\",\n      \"start\": 4515,\n      \"end\": 4527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4528,\n      \"end\": 4529,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_x\",\n      \"start\": 4530,\n      \"end\": 4540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4541,\n      \"end\": 4542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_min_x\",\n      \"start\": 4543,\n      \"end\": 4555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4555,\n      \"end\": 4556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 125,\n          \"column\": 83\n        },\n        \"end\": {\n          \"line\": 125,\n          \"column\": 84\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4562,\n      \"end\": 4572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4572,\n      \"end\": 4573,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 4573,\n      \"end\": 4583,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4585,\n      \"end\": 4586,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 4587,\n      \"end\": 4597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 4598,\n      \"end\": 4599,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_min_y\",\n      \"start\": 4600,\n      \"end\": 4612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4613,\n      \"end\": 4614,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_min_y\",\n      \"start\": 4615,\n      \"end\": 4625,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4626,\n      \"end\": 4627,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_min_y\",\n      \"start\": 4628,\n      \"end\": 4640,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4640,\n      \"end\": 4641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 83\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 84\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4647,\n      \"end\": 4657,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4657,\n      \"end\": 4658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 4658,\n      \"end\": 4668,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4670,\n      \"end\": 4671,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 4672,\n      \"end\": 4682,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 4683,\n      \"end\": 4684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_max_x\",\n      \"start\": 4685,\n      \"end\": 4697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4698,\n      \"end\": 4699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_x\",\n      \"start\": 4700,\n      \"end\": 4710,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4711,\n      \"end\": 4712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_max_x\",\n      \"start\": 4713,\n      \"end\": 4725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4725,\n      \"end\": 4726,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 83\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 84\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4732,\n      \"end\": 4742,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4742,\n      \"end\": 4743,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 4743,\n      \"end\": 4753,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4755,\n      \"end\": 4756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 4757,\n      \"end\": 4767,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 4768,\n      \"end\": 4769,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_max_y\",\n      \"start\": 4770,\n      \"end\": 4782,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4783,\n      \"end\": 4784,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body_max_y\",\n      \"start\": 4785,\n      \"end\": 4795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4796,\n      \"end\": 4797,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_max_y\",\n      \"start\": 4798,\n      \"end\": 4810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4810,\n      \"end\": 4811,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 83\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 84\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4818,\n      \"end\": 4820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4820,\n      \"end\": 4821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 4821,\n      \"end\": 4822,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 4822,\n      \"end\": 4833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4833,\n      \"end\": 4834,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4835,\n      \"end\": 4836,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4843,\n      \"end\": 4847,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4847,\n      \"end\": 4848,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 4848,\n      \"end\": 4858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4859,\n      \"end\": 4860,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4861,\n      \"end\": 4871,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4871,\n      \"end\": 4872,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4878,\n      \"end\": 4879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 4885,\n      \"end\": 4889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4890,\n      \"end\": 4892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4892,\n      \"end\": 4893,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 4893,\n      \"end\": 4904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4904,\n      \"end\": 4905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 4905,\n      \"end\": 4914,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 4915,\n      \"end\": 4918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 4919,\n      \"end\": 4926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4926,\n      \"end\": 4927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4928,\n      \"end\": 4929,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 4936,\n      \"end\": 4947,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4947,\n      \"end\": 4948,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 4948,\n      \"end\": 4957,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4958,\n      \"end\": 4959,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 4960,\n      \"end\": 4970,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4970,\n      \"end\": 4971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4977,\n      \"end\": 4978,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 4984,\n      \"end\": 4988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4989,\n      \"end\": 4990,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 4997,\n      \"end\": 5008,\n      \"loc\": {\n        \"start\": {\n          \"line\": 137,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 137,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5008,\n      \"end\": 5009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 137,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 137,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 5009,\n      \"end\": 5019,\n      \"loc\": {\n        \"start\": {\n          \"line\": 137,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 137,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5020,\n      \"end\": 5021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 137,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 137,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_parent\",\n      \"start\": 5022,\n      \"end\": 5032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 137,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 137,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5032,\n      \"end\": 5033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 137,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 137,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5039,\n      \"end\": 5040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"break\",\n        \"keyword\": \"break\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"break\",\n      \"start\": 5047,\n      \"end\": 5052,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5052,\n      \"end\": 5053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5058,\n      \"end\": 5059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5063,\n      \"end\": 5064,\n      \"loc\": {\n        \"start\": {\n          \"line\": 142,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 142,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5067,\n      \"end\": 5068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5070,\n      \"end\": 5071,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Removes a body from the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to remove\\n\\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\\n\\t \",\n      \"start\": 5074,\n      \"end\": 5307,\n      \"loc\": {\n        \"start\": {\n          \"line\": 146,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 150,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"remove\",\n      \"start\": 5309,\n      \"end\": 5315,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5315,\n      \"end\": 5316,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 5316,\n      \"end\": 5320,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5320,\n      \"end\": 5321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"updating\",\n      \"start\": 5322,\n      \"end\": 5330,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5331,\n      \"end\": 5332,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 5333,\n      \"end\": 5338,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5338,\n      \"end\": 5339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5340,\n      \"end\": 5341,\n      \"loc\": {\n        \"start\": {\n          \"line\": 151,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 151,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5344,\n      \"end\": 5346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5346,\n      \"end\": 5347,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 5347,\n      \"end\": 5348,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"updating\",\n      \"start\": 5348,\n      \"end\": 5356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5356,\n      \"end\": 5357,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5358,\n      \"end\": 5359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 152,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5363,\n      \"end\": 5368,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 5369,\n      \"end\": 5372,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5373,\n      \"end\": 5374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 5375,\n      \"end\": 5379,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5379,\n      \"end\": 5380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 5380,\n      \"end\": 5384,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5384,\n      \"end\": 5385,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5390,\n      \"end\": 5392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5392,\n      \"end\": 5393,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 5393,\n      \"end\": 5396,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 5397,\n      \"end\": 5399,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 5400,\n      \"end\": 5403,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 5404,\n      \"end\": 5407,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5408,\n      \"end\": 5412,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5412,\n      \"end\": 5413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5414,\n      \"end\": 5415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"throw\",\n        \"keyword\": \"throw\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"throw\",\n      \"start\": 5420,\n      \"end\": 5425,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 5426,\n      \"end\": 5429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Error\",\n      \"start\": 5430,\n      \"end\": 5435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5435,\n      \"end\": 5436,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"Body belongs to another collision system\",\n      \"start\": 5436,\n      \"end\": 5478,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5478,\n      \"end\": 5479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5479,\n      \"end\": 5480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5484,\n      \"end\": 5485,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 5490,\n      \"end\": 5494,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5494,\n      \"end\": 5495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 5495,\n      \"end\": 5499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5500,\n      \"end\": 5501,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 5502,\n      \"end\": 5506,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5506,\n      \"end\": 5507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5511,\n      \"end\": 5515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5515,\n      \"end\": 5516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bodies\",\n      \"start\": 5516,\n      \"end\": 5523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5523,\n      \"end\": 5524,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"splice\",\n      \"start\": 5524,\n      \"end\": 5530,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5530,\n      \"end\": 5531,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5531,\n      \"end\": 5535,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5535,\n      \"end\": 5536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bodies\",\n      \"start\": 5536,\n      \"end\": 5543,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5543,\n      \"end\": 5544,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"indexOf\",\n      \"start\": 5544,\n      \"end\": 5551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5551,\n      \"end\": 5552,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 5552,\n      \"end\": 5556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5556,\n      \"end\": 5557,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5557,\n      \"end\": 5558,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 5559,\n      \"end\": 5560,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5560,\n      \"end\": 5561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5561,\n      \"end\": 5562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5565,\n      \"end\": 5566,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5570,\n      \"end\": 5572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5572,\n      \"end\": 5573,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5573,\n      \"end\": 5577,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5577,\n      \"end\": 5578,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 5578,\n      \"end\": 5588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 5589,\n      \"end\": 5592,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 5593,\n      \"end\": 5597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5597,\n      \"end\": 5598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5599,\n      \"end\": 5600,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5604,\n      \"end\": 5608,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5608,\n      \"end\": 5609,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 5609,\n      \"end\": 5619,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5620,\n      \"end\": 5621,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 5622,\n      \"end\": 5626,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5626,\n      \"end\": 5627,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 5632,\n      \"end\": 5638,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5638,\n      \"end\": 5639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5642,\n      \"end\": 5643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5647,\n      \"end\": 5652,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 5653,\n      \"end\": 5659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5666,\n      \"end\": 5667,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 5668,\n      \"end\": 5672,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5672,\n      \"end\": 5673,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 5673,\n      \"end\": 5684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5684,\n      \"end\": 5685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5688,\n      \"end\": 5693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 5694,\n      \"end\": 5705,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5707,\n      \"end\": 5708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 5709,\n      \"end\": 5715,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5715,\n      \"end\": 5716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 5716,\n      \"end\": 5727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5727,\n      \"end\": 5728,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5731,\n      \"end\": 5736,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_left\",\n      \"start\": 5737,\n      \"end\": 5748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5750,\n      \"end\": 5751,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 5752,\n      \"end\": 5758,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5758,\n      \"end\": 5759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 5759,\n      \"end\": 5768,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5768,\n      \"end\": 5769,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5772,\n      \"end\": 5777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sibling\",\n      \"start\": 5778,\n      \"end\": 5785,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5791,\n      \"end\": 5792,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_left\",\n      \"start\": 5793,\n      \"end\": 5804,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 5805,\n      \"end\": 5808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 5809,\n      \"end\": 5813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5814,\n      \"end\": 5815,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 5816,\n      \"end\": 5822,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5822,\n      \"end\": 5823,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 5823,\n      \"end\": 5833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5834,\n      \"end\": 5835,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent_left\",\n      \"start\": 5836,\n      \"end\": 5847,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5847,\n      \"end\": 5848,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 77\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sibling\",\n      \"start\": 5852,\n      \"end\": 5859,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5859,\n      \"end\": 5860,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 5860,\n      \"end\": 5871,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5872,\n      \"end\": 5873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 5874,\n      \"end\": 5885,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5885,\n      \"end\": 5886,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5890,\n      \"end\": 5892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5892,\n      \"end\": 5893,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sibling\",\n      \"start\": 5893,\n      \"end\": 5900,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5900,\n      \"end\": 5901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 5901,\n      \"end\": 5912,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5912,\n      \"end\": 5913,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5914,\n      \"end\": 5915,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sibling\",\n      \"start\": 5919,\n      \"end\": 5926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5926,\n      \"end\": 5927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_sort\",\n      \"start\": 5927,\n      \"end\": 5936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5937,\n      \"end\": 5938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 5939,\n      \"end\": 5945,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5945,\n      \"end\": 5946,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_sort\",\n      \"start\": 5946,\n      \"end\": 5955,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5955,\n      \"end\": 5956,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5959,\n      \"end\": 5960,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5964,\n      \"end\": 5966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 180,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 180,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5966,\n      \"end\": 5967,\n      \"loc\": {\n        \"start\": {\n          \"line\": 180,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 180,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 5967,\n      \"end\": 5978,\n      \"loc\": {\n        \"start\": {\n          \"line\": 180,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 180,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5978,\n      \"end\": 5979,\n      \"loc\": {\n        \"start\": {\n          \"line\": 180,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 180,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5980,\n      \"end\": 5981,\n      \"loc\": {\n        \"start\": {\n          \"line\": 180,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 180,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5985,\n      \"end\": 5987,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5987,\n      \"end\": 5988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 5988,\n      \"end\": 5999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5999,\n      \"end\": 6000,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 6000,\n      \"end\": 6009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 6010,\n      \"end\": 6013,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 6014,\n      \"end\": 6020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6020,\n      \"end\": 6021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6022,\n      \"end\": 6023,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 6028,\n      \"end\": 6039,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6039,\n      \"end\": 6040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 6040,\n      \"end\": 6049,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6050,\n      \"end\": 6051,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sibling\",\n      \"start\": 6052,\n      \"end\": 6059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6059,\n      \"end\": 6060,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6064,\n      \"end\": 6065,\n      \"loc\": {\n        \"start\": {\n          \"line\": 183,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 6069,\n      \"end\": 6073,\n      \"loc\": {\n        \"start\": {\n          \"line\": 184,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 184,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6074,\n      \"end\": 6075,\n      \"loc\": {\n        \"start\": {\n          \"line\": 184,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 184,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 6080,\n      \"end\": 6091,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6091,\n      \"end\": 6092,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 6092,\n      \"end\": 6102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6103,\n      \"end\": 6104,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sibling\",\n      \"start\": 6105,\n      \"end\": 6112,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6112,\n      \"end\": 6113,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6117,\n      \"end\": 6118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 6123,\n      \"end\": 6126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6127,\n      \"end\": 6133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6134,\n      \"end\": 6135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"grandparent\",\n      \"start\": 6136,\n      \"end\": 6147,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6147,\n      \"end\": 6148,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 6153,\n      \"end\": 6158,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6158,\n      \"end\": 6159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6159,\n      \"end\": 6165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6165,\n      \"end\": 6166,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6167,\n      \"end\": 6168,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6173,\n      \"end\": 6178,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6179,\n      \"end\": 6183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6190,\n      \"end\": 6191,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6192,\n      \"end\": 6198,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6198,\n      \"end\": 6199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 6199,\n      \"end\": 6208,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6208,\n      \"end\": 6209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6214,\n      \"end\": 6219,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_x\",\n      \"start\": 6220,\n      \"end\": 6230,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6231,\n      \"end\": 6232,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6233,\n      \"end\": 6237,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6237,\n      \"end\": 6238,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 6238,\n      \"end\": 6248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6248,\n      \"end\": 6249,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6254,\n      \"end\": 6259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_y\",\n      \"start\": 6260,\n      \"end\": 6270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6271,\n      \"end\": 6272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6273,\n      \"end\": 6277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6277,\n      \"end\": 6278,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 6278,\n      \"end\": 6288,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6288,\n      \"end\": 6289,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6294,\n      \"end\": 6299,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_x\",\n      \"start\": 6300,\n      \"end\": 6310,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6311,\n      \"end\": 6312,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6313,\n      \"end\": 6317,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6317,\n      \"end\": 6318,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 6318,\n      \"end\": 6328,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6328,\n      \"end\": 6329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6334,\n      \"end\": 6339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_y\",\n      \"start\": 6340,\n      \"end\": 6350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6351,\n      \"end\": 6352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6353,\n      \"end\": 6357,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6357,\n      \"end\": 6358,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 6358,\n      \"end\": 6368,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6368,\n      \"end\": 6369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6375,\n      \"end\": 6380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 6381,\n      \"end\": 6386,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6393,\n      \"end\": 6394,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6395,\n      \"end\": 6401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6401,\n      \"end\": 6402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 6402,\n      \"end\": 6412,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6412,\n      \"end\": 6413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6418,\n      \"end\": 6423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_x\",\n      \"start\": 6424,\n      \"end\": 6435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6436,\n      \"end\": 6437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 6438,\n      \"end\": 6443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6443,\n      \"end\": 6444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 6444,\n      \"end\": 6454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6454,\n      \"end\": 6455,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6460,\n      \"end\": 6465,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_y\",\n      \"start\": 6466,\n      \"end\": 6477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6478,\n      \"end\": 6479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 6480,\n      \"end\": 6485,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6485,\n      \"end\": 6486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 6486,\n      \"end\": 6496,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6496,\n      \"end\": 6497,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6502,\n      \"end\": 6507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_x\",\n      \"start\": 6508,\n      \"end\": 6519,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6520,\n      \"end\": 6521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 6522,\n      \"end\": 6527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6527,\n      \"end\": 6528,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 6528,\n      \"end\": 6538,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6538,\n      \"end\": 6539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6544,\n      \"end\": 6549,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_y\",\n      \"start\": 6550,\n      \"end\": 6561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6562,\n      \"end\": 6563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 6564,\n      \"end\": 6569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6569,\n      \"end\": 6570,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 6570,\n      \"end\": 6580,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6580,\n      \"end\": 6581,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6587,\n      \"end\": 6593,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6593,\n      \"end\": 6594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 6594,\n      \"end\": 6604,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6605,\n      \"end\": 6606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_x\",\n      \"start\": 6607,\n      \"end\": 6617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 6618,\n      \"end\": 6619,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_x\",\n      \"start\": 6620,\n      \"end\": 6631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6632,\n      \"end\": 6633,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_x\",\n      \"start\": 6634,\n      \"end\": 6644,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6645,\n      \"end\": 6646,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_x\",\n      \"start\": 6647,\n      \"end\": 6658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6658,\n      \"end\": 6659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 75\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 76\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6664,\n      \"end\": 6670,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6670,\n      \"end\": 6671,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 6671,\n      \"end\": 6681,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6682,\n      \"end\": 6683,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_y\",\n      \"start\": 6684,\n      \"end\": 6694,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 6695,\n      \"end\": 6696,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_y\",\n      \"start\": 6697,\n      \"end\": 6708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6709,\n      \"end\": 6710,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_min_y\",\n      \"start\": 6711,\n      \"end\": 6721,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6722,\n      \"end\": 6723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_min_y\",\n      \"start\": 6724,\n      \"end\": 6735,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6735,\n      \"end\": 6736,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 75\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 76\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6741,\n      \"end\": 6747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6747,\n      \"end\": 6748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 6748,\n      \"end\": 6758,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6759,\n      \"end\": 6760,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_x\",\n      \"start\": 6761,\n      \"end\": 6771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 6772,\n      \"end\": 6773,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_x\",\n      \"start\": 6774,\n      \"end\": 6785,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6786,\n      \"end\": 6787,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_x\",\n      \"start\": 6788,\n      \"end\": 6798,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6799,\n      \"end\": 6800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_x\",\n      \"start\": 6801,\n      \"end\": 6812,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6812,\n      \"end\": 6813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 75\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 76\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6818,\n      \"end\": 6824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6824,\n      \"end\": 6825,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 6825,\n      \"end\": 6835,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6836,\n      \"end\": 6837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_y\",\n      \"start\": 6838,\n      \"end\": 6848,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 6849,\n      \"end\": 6850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_y\",\n      \"start\": 6851,\n      \"end\": 6862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6863,\n      \"end\": 6864,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left_max_y\",\n      \"start\": 6865,\n      \"end\": 6875,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6876,\n      \"end\": 6877,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right_max_y\",\n      \"start\": 6878,\n      \"end\": 6889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6889,\n      \"end\": 6890,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 75\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 76\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6896,\n      \"end\": 6902,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6903,\n      \"end\": 6904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 6905,\n      \"end\": 6911,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6911,\n      \"end\": 6912,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 6912,\n      \"end\": 6923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6923,\n      \"end\": 6924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6928,\n      \"end\": 6929,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6932,\n      \"end\": 6933,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 6936,\n      \"end\": 6940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6941,\n      \"end\": 6942,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 6946,\n      \"end\": 6950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6950,\n      \"end\": 6951,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 6951,\n      \"end\": 6961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6962,\n      \"end\": 6963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sibling\",\n      \"start\": 6964,\n      \"end\": 6971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6971,\n      \"end\": 6972,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6975,\n      \"end\": 6976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVHBranch\",\n      \"start\": 6980,\n      \"end\": 6989,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6989,\n      \"end\": 6990,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"releaseBranch\",\n      \"start\": 6990,\n      \"end\": 7003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7003,\n      \"end\": 7004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 7004,\n      \"end\": 7010,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7010,\n      \"end\": 7011,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7011,\n      \"end\": 7012,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7014,\n      \"end\": 7015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Updates the BVH. Moved bodies are removed/inserted.\\n\\t \",\n      \"start\": 7018,\n      \"end\": 7082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 7084,\n      \"end\": 7090,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7090,\n      \"end\": 7091,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7091,\n      \"end\": 7092,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7093,\n      \"end\": 7094,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7097,\n      \"end\": 7102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 222,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 7103,\n      \"end\": 7109,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 222,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7110,\n      \"end\": 7111,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 222,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 7112,\n      \"end\": 7116,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 222,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7116,\n      \"end\": 7117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 222,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bodies\",\n      \"start\": 7117,\n      \"end\": 7124,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 222,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7124,\n      \"end\": 7125,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 222,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7128,\n      \"end\": 7133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 7134,\n      \"end\": 7139,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7141,\n      \"end\": 7142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 7143,\n      \"end\": 7149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7149,\n      \"end\": 7150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7150,\n      \"end\": 7156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7156,\n      \"end\": 7157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 7161,\n      \"end\": 7164,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7164,\n      \"end\": 7165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 7165,\n      \"end\": 7168,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 7169,\n      \"end\": 7170,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7171,\n      \"end\": 7172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 7173,\n      \"end\": 7174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7174,\n      \"end\": 7175,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 7176,\n      \"end\": 7177,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 7178,\n      \"end\": 7179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 7180,\n      \"end\": 7185,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7185,\n      \"end\": 7186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"++/--\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": true,\n        \"binop\": null\n      },\n      \"value\": \"++\",\n      \"start\": 7187,\n      \"end\": 7189,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 7189,\n      \"end\": 7190,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7190,\n      \"end\": 7191,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7192,\n      \"end\": 7193,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7197,\n      \"end\": 7202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7203,\n      \"end\": 7207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7208,\n      \"end\": 7209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 7210,\n      \"end\": 7216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7216,\n      \"end\": 7217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 7217,\n      \"end\": 7218,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7218,\n      \"end\": 7219,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7219,\n      \"end\": 7220,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 7225,\n      \"end\": 7228,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 7229,\n      \"end\": 7235,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7236,\n      \"end\": 7237,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 7238,\n      \"end\": 7243,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7243,\n      \"end\": 7244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7249,\n      \"end\": 7251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7251,\n      \"end\": 7252,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 7252,\n      \"end\": 7253,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 7253,\n      \"end\": 7259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 7260,\n      \"end\": 7262,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7263,\n      \"end\": 7267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7267,\n      \"end\": 7268,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 7268,\n      \"end\": 7275,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 7276,\n      \"end\": 7279,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7280,\n      \"end\": 7284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7284,\n      \"end\": 7285,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_padding\",\n      \"start\": 7285,\n      \"end\": 7297,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7297,\n      \"end\": 7298,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7299,\n      \"end\": 7300,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7305,\n      \"end\": 7309,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7309,\n      \"end\": 7310,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_padding\",\n      \"start\": 7310,\n      \"end\": 7322,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7323,\n      \"end\": 7324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7325,\n      \"end\": 7329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7329,\n      \"end\": 7330,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 7330,\n      \"end\": 7337,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7337,\n      \"end\": 7338,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 7343,\n      \"end\": 7349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7350,\n      \"end\": 7351,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 7352,\n      \"end\": 7356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7356,\n      \"end\": 7357,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7361,\n      \"end\": 7362,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7367,\n      \"end\": 7369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7369,\n      \"end\": 7370,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 7370,\n      \"end\": 7371,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 7371,\n      \"end\": 7377,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7377,\n      \"end\": 7378,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7379,\n      \"end\": 7380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7385,\n      \"end\": 7390,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 7391,\n      \"end\": 7398,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7399,\n      \"end\": 7400,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7401,\n      \"end\": 7405,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7405,\n      \"end\": 7406,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 7406,\n      \"end\": 7414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7414,\n      \"end\": 7415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7421,\n      \"end\": 7423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7423,\n      \"end\": 7424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 7424,\n      \"end\": 7431,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7431,\n      \"end\": 7432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7433,\n      \"end\": 7434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7440,\n      \"end\": 7442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7442,\n      \"end\": 7443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7450,\n      \"end\": 7454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7454,\n      \"end\": 7455,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 7455,\n      \"end\": 7468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 7469,\n      \"end\": 7471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7478,\n      \"end\": 7482,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7482,\n      \"end\": 7483,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 7483,\n      \"end\": 7484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 7491,\n      \"end\": 7494,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7495,\n      \"end\": 7499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7499,\n      \"end\": 7500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_x\",\n      \"start\": 7500,\n      \"end\": 7502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 7503,\n      \"end\": 7505,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7512,\n      \"end\": 7516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7516,\n      \"end\": 7517,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 7517,\n      \"end\": 7518,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 7525,\n      \"end\": 7528,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7529,\n      \"end\": 7533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7533,\n      \"end\": 7534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_y\",\n      \"start\": 7534,\n      \"end\": 7536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 7537,\n      \"end\": 7539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7546,\n      \"end\": 7550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7550,\n      \"end\": 7551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 7551,\n      \"end\": 7556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 7559,\n      \"end\": 7562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7563,\n      \"end\": 7567,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7567,\n      \"end\": 7568,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_angle\",\n      \"start\": 7568,\n      \"end\": 7574,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 7575,\n      \"end\": 7577,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7584,\n      \"end\": 7588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7588,\n      \"end\": 7589,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 7589,\n      \"end\": 7596,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 7597,\n      \"end\": 7600,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7601,\n      \"end\": 7605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7605,\n      \"end\": 7606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_x\",\n      \"start\": 7606,\n      \"end\": 7614,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 7615,\n      \"end\": 7617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7624,\n      \"end\": 7628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7628,\n      \"end\": 7629,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 7629,\n      \"end\": 7636,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 7637,\n      \"end\": 7640,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7641,\n      \"end\": 7645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7645,\n      \"end\": 7646,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_y\",\n      \"start\": 7646,\n      \"end\": 7654,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7660,\n      \"end\": 7661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7662,\n      \"end\": 7663,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7670,\n      \"end\": 7674,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7674,\n      \"end\": 7675,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateCoords\",\n      \"start\": 7675,\n      \"end\": 7691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7691,\n      \"end\": 7692,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7692,\n      \"end\": 7693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7693,\n      \"end\": 7694,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7700,\n      \"end\": 7701,\n      \"loc\": {\n        \"start\": {\n          \"line\": 248,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 248,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7706,\n      \"end\": 7707,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7713,\n      \"end\": 7718,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 7719,\n      \"end\": 7720,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7726,\n      \"end\": 7727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7728,\n      \"end\": 7732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7732,\n      \"end\": 7733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 7733,\n      \"end\": 7734,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7734,\n      \"end\": 7735,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7740,\n      \"end\": 7745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 252,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 252,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 7746,\n      \"end\": 7747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 252,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 252,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7753,\n      \"end\": 7754,\n      \"loc\": {\n        \"start\": {\n          \"line\": 252,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 252,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7755,\n      \"end\": 7759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 252,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 252,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7759,\n      \"end\": 7760,\n      \"loc\": {\n        \"start\": {\n          \"line\": 252,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 252,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 7760,\n      \"end\": 7761,\n      \"loc\": {\n        \"start\": {\n          \"line\": 252,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 252,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7761,\n      \"end\": 7762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 252,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 252,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7767,\n      \"end\": 7772,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 7773,\n      \"end\": 7779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7780,\n      \"end\": 7781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 7782,\n      \"end\": 7789,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7790,\n      \"end\": 7791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 7792,\n      \"end\": 7793,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7794,\n      \"end\": 7795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7796,\n      \"end\": 7800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7800,\n      \"end\": 7801,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 7801,\n      \"end\": 7807,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 7808,\n      \"end\": 7809,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7810,\n      \"end\": 7814,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7814,\n      \"end\": 7815,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 7815,\n      \"end\": 7820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7820,\n      \"end\": 7821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7826,\n      \"end\": 7831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 7832,\n      \"end\": 7837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7839,\n      \"end\": 7840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 7841,\n      \"end\": 7848,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7849,\n      \"end\": 7850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7851,\n      \"end\": 7855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7855,\n      \"end\": 7856,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_x\",\n      \"start\": 7856,\n      \"end\": 7862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7863,\n      \"end\": 7864,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 7865,\n      \"end\": 7866,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 7867,\n      \"end\": 7868,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 7869,\n      \"end\": 7875,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7875,\n      \"end\": 7876,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7881,\n      \"end\": 7886,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 7887,\n      \"end\": 7892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7894,\n      \"end\": 7895,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 7896,\n      \"end\": 7903,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7904,\n      \"end\": 7905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7906,\n      \"end\": 7910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7910,\n      \"end\": 7911,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_y\",\n      \"start\": 7911,\n      \"end\": 7917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7918,\n      \"end\": 7919,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 7920,\n      \"end\": 7921,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 7922,\n      \"end\": 7923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 7924,\n      \"end\": 7930,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7930,\n      \"end\": 7931,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7936,\n      \"end\": 7941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 7942,\n      \"end\": 7947,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7949,\n      \"end\": 7950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 7951,\n      \"end\": 7958,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7959,\n      \"end\": 7960,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 7961,\n      \"end\": 7965,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7965,\n      \"end\": 7966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_x\",\n      \"start\": 7966,\n      \"end\": 7972,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7973,\n      \"end\": 7974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 7975,\n      \"end\": 7976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 7977,\n      \"end\": 7978,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 7979,\n      \"end\": 7985,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7985,\n      \"end\": 7986,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7991,\n      \"end\": 7996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 7997,\n      \"end\": 8002,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8004,\n      \"end\": 8005,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygon\",\n      \"start\": 8006,\n      \"end\": 8013,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8014,\n      \"end\": 8015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8016,\n      \"end\": 8020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8020,\n      \"end\": 8021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_y\",\n      \"start\": 8021,\n      \"end\": 8027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8028,\n      \"end\": 8029,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 8030,\n      \"end\": 8031,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 8032,\n      \"end\": 8033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 8034,\n      \"end\": 8040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8040,\n      \"end\": 8041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 8047,\n      \"end\": 8053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8054,\n      \"end\": 8055,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 8056,\n      \"end\": 8061,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 8062,\n      \"end\": 8063,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8064,\n      \"end\": 8068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8068,\n      \"end\": 8069,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 8069,\n      \"end\": 8079,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 8080,\n      \"end\": 8082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 8083,\n      \"end\": 8088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 8089,\n      \"end\": 8090,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8091,\n      \"end\": 8095,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8095,\n      \"end\": 8096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 8096,\n      \"end\": 8106,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 8107,\n      \"end\": 8109,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 8110,\n      \"end\": 8115,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 72\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 8116,\n      \"end\": 8117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 73\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 74\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8118,\n      \"end\": 8122,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 75\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8122,\n      \"end\": 8123,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 79\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 80\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 8123,\n      \"end\": 8133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 80\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 90\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 8134,\n      \"end\": 8136,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 91\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 93\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 8137,\n      \"end\": 8142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 94\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 99\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 8143,\n      \"end\": 8144,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 100\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 101\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8145,\n      \"end\": 8149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 102\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 106\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8149,\n      \"end\": 8150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 106\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 107\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 8150,\n      \"end\": 8160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 107\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 117\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8160,\n      \"end\": 8161,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 117\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 118\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8165,\n      \"end\": 8166,\n      \"loc\": {\n        \"start\": {\n          \"line\": 260,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 260,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 8171,\n      \"end\": 8173,\n      \"loc\": {\n        \"start\": {\n          \"line\": 262,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 262,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8173,\n      \"end\": 8174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 262,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 262,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"update\",\n      \"start\": 8174,\n      \"end\": 8180,\n      \"loc\": {\n        \"start\": {\n          \"line\": 262,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 262,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8180,\n      \"end\": 8181,\n      \"loc\": {\n        \"start\": {\n          \"line\": 262,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 262,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8182,\n      \"end\": 8183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 262,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 262,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 8188,\n      \"end\": 8192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8192,\n      \"end\": 8193,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"remove\",\n      \"start\": 8193,\n      \"end\": 8199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8199,\n      \"end\": 8200,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8200,\n      \"end\": 8204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8204,\n      \"end\": 8205,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 8206,\n      \"end\": 8210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8210,\n      \"end\": 8211,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8211,\n      \"end\": 8212,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 8217,\n      \"end\": 8221,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8221,\n      \"end\": 8222,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"insert\",\n      \"start\": 8222,\n      \"end\": 8228,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8228,\n      \"end\": 8229,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8229,\n      \"end\": 8233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8233,\n      \"end\": 8234,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 8235,\n      \"end\": 8239,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8239,\n      \"end\": 8240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8240,\n      \"end\": 8241,\n      \"loc\": {\n        \"start\": {\n          \"line\": 264,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 264,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8245,\n      \"end\": 8246,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8249,\n      \"end\": 8250,\n      \"loc\": {\n        \"start\": {\n          \"line\": 266,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 266,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8252,\n      \"end\": 8253,\n      \"loc\": {\n        \"start\": {\n          \"line\": 267,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 267,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test\\n\\t * @returns {Array<Body>}\\n\\t \",\n      \"start\": 8256,\n      \"end\": 8401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 269,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 273,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"potentials\",\n      \"start\": 8403,\n      \"end\": 8413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8413,\n      \"end\": 8414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8414,\n      \"end\": 8418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8418,\n      \"end\": 8419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8420,\n      \"end\": 8421,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8424,\n      \"end\": 8429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"results\",\n      \"start\": 8430,\n      \"end\": 8437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8438,\n      \"end\": 8439,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8440,\n      \"end\": 8441,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8441,\n      \"end\": 8442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8442,\n      \"end\": 8443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8446,\n      \"end\": 8451,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 8452,\n      \"end\": 8457,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8460,\n      \"end\": 8461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8462,\n      \"end\": 8466,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8466,\n      \"end\": 8467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 8467,\n      \"end\": 8477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8477,\n      \"end\": 8478,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8481,\n      \"end\": 8486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 8487,\n      \"end\": 8492,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8495,\n      \"end\": 8496,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8497,\n      \"end\": 8501,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8501,\n      \"end\": 8502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 8502,\n      \"end\": 8512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8512,\n      \"end\": 8513,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8516,\n      \"end\": 8521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 8522,\n      \"end\": 8527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8530,\n      \"end\": 8531,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8532,\n      \"end\": 8536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8536,\n      \"end\": 8537,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 8537,\n      \"end\": 8547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8547,\n      \"end\": 8548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8551,\n      \"end\": 8556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 8557,\n      \"end\": 8562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8565,\n      \"end\": 8566,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 8567,\n      \"end\": 8571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8571,\n      \"end\": 8572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 8572,\n      \"end\": 8582,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8582,\n      \"end\": 8583,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 8587,\n      \"end\": 8590,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 8591,\n      \"end\": 8598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8605,\n      \"end\": 8606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 8607,\n      \"end\": 8611,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8611,\n      \"end\": 8612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 8612,\n      \"end\": 8622,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8622,\n      \"end\": 8623,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 8626,\n      \"end\": 8629,\n      \"loc\": {\n        \"start\": {\n          \"line\": 282,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 282,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 8630,\n      \"end\": 8643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 282,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 282,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8644,\n      \"end\": 8645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 282,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 282,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 8646,\n      \"end\": 8650,\n      \"loc\": {\n        \"start\": {\n          \"line\": 282,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 282,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8650,\n      \"end\": 8651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 282,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 282,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 8655,\n      \"end\": 8657,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8657,\n      \"end\": 8658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 8658,\n      \"end\": 8659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 8659,\n      \"end\": 8666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 8667,\n      \"end\": 8669,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 8670,\n      \"end\": 8671,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 8671,\n      \"end\": 8678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8678,\n      \"end\": 8679,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 8679,\n      \"end\": 8690,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8690,\n      \"end\": 8691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8692,\n      \"end\": 8693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 284,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 8697,\n      \"end\": 8703,\n      \"loc\": {\n        \"start\": {\n          \"line\": 285,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 285,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"results\",\n      \"start\": 8704,\n      \"end\": 8711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 285,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 285,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8711,\n      \"end\": 8712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 285,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 285,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8715,\n      \"end\": 8716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 286,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 286,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 8720,\n      \"end\": 8725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 288,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 288,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8725,\n      \"end\": 8726,\n      \"loc\": {\n        \"start\": {\n          \"line\": 288,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 288,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 8726,\n      \"end\": 8733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 288,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 288,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8733,\n      \"end\": 8734,\n      \"loc\": {\n        \"start\": {\n          \"line\": 288,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 288,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8735,\n      \"end\": 8736,\n      \"loc\": {\n        \"start\": {\n          \"line\": 288,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 288,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 8740,\n      \"end\": 8742,\n      \"loc\": {\n        \"start\": {\n          \"line\": 289,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 289,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8742,\n      \"end\": 8743,\n      \"loc\": {\n        \"start\": {\n          \"line\": 289,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 289,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 8743,\n      \"end\": 8756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 289,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 289,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8756,\n      \"end\": 8757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 289,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 289,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8758,\n      \"end\": 8759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 289,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 289,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 8764,\n      \"end\": 8777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 290,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 290,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8778,\n      \"end\": 8779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 290,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 290,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 8780,\n      \"end\": 8785,\n      \"loc\": {\n        \"start\": {\n          \"line\": 290,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 290,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8785,\n      \"end\": 8786,\n      \"loc\": {\n        \"start\": {\n          \"line\": 290,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 290,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 8792,\n      \"end\": 8795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 8796,\n      \"end\": 8800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8801,\n      \"end\": 8802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 8803,\n      \"end\": 8810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8810,\n      \"end\": 8811,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 8811,\n      \"end\": 8822,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8823,\n      \"end\": 8824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 8825,\n      \"end\": 8832,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8832,\n      \"end\": 8833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 8833,\n      \"end\": 8842,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8843,\n      \"end\": 8844,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 8845,\n      \"end\": 8849,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8849,\n      \"end\": 8850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 8856,\n      \"end\": 8861,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8861,\n      \"end\": 8862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 8868,\n      \"end\": 8872,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 8873,\n      \"end\": 8875,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 8881,\n      \"end\": 8885,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8885,\n      \"end\": 8886,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 8886,\n      \"end\": 8896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">=\",\n      \"start\": 8897,\n      \"end\": 8899,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 8900,\n      \"end\": 8905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 8906,\n      \"end\": 8908,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 8914,\n      \"end\": 8918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8918,\n      \"end\": 8919,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 8919,\n      \"end\": 8929,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">=\",\n      \"start\": 8930,\n      \"end\": 8932,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 8933,\n      \"end\": 8938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 8939,\n      \"end\": 8941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 8947,\n      \"end\": 8951,\n      \"loc\": {\n        \"start\": {\n          \"line\": 298,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 298,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8951,\n      \"end\": 8952,\n      \"loc\": {\n        \"start\": {\n          \"line\": 298,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 298,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 8952,\n      \"end\": 8962,\n      \"loc\": {\n        \"start\": {\n          \"line\": 298,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 298,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<=\",\n      \"start\": 8963,\n      \"end\": 8965,\n      \"loc\": {\n        \"start\": {\n          \"line\": 298,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 298,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 8966,\n      \"end\": 8971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 298,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 298,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 8972,\n      \"end\": 8974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 298,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 298,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 8980,\n      \"end\": 8984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8984,\n      \"end\": 8985,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 8985,\n      \"end\": 8995,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<=\",\n      \"start\": 8996,\n      \"end\": 8998,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 8999,\n      \"end\": 9004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9009,\n      \"end\": 9010,\n      \"loc\": {\n        \"start\": {\n          \"line\": 300,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 300,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9011,\n      \"end\": 9012,\n      \"loc\": {\n        \"start\": {\n          \"line\": 300,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 300,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9018,\n      \"end\": 9025,\n      \"loc\": {\n        \"start\": {\n          \"line\": 301,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 301,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9026,\n      \"end\": 9027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 301,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 301,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 9028,\n      \"end\": 9032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 301,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 301,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9032,\n      \"end\": 9033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 301,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 301,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 9039,\n      \"end\": 9043,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9047,\n      \"end\": 9048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9049,\n      \"end\": 9056,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9056,\n      \"end\": 9057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 9057,\n      \"end\": 9068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9069,\n      \"end\": 9070,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9071,\n      \"end\": 9078,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9078,\n      \"end\": 9079,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 9079,\n      \"end\": 9088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9089,\n      \"end\": 9090,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9091,\n      \"end\": 9095,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9095,\n      \"end\": 9096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 302,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 302,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9101,\n      \"end\": 9102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 303,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 303,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9106,\n      \"end\": 9107,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 9112,\n      \"end\": 9117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 9118,\n      \"end\": 9124,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9125,\n      \"end\": 9126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9127,\n      \"end\": 9134,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9134,\n      \"end\": 9135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 9135,\n      \"end\": 9146,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9146,\n      \"end\": 9147,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 9151,\n      \"end\": 9156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 9157,\n      \"end\": 9162,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9164,\n      \"end\": 9165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 9166,\n      \"end\": 9172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9173,\n      \"end\": 9174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9175,\n      \"end\": 9182,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9182,\n      \"end\": 9183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 9183,\n      \"end\": 9193,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9194,\n      \"end\": 9195,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9196,\n      \"end\": 9200,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9200,\n      \"end\": 9201,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 9206,\n      \"end\": 9208,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9208,\n      \"end\": 9209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 9214,\n      \"end\": 9219,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 9220,\n      \"end\": 9222,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 9227,\n      \"end\": 9232,\n      \"loc\": {\n        \"start\": {\n          \"line\": 311,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 311,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9232,\n      \"end\": 9233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 311,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 311,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 9233,\n      \"end\": 9243,\n      \"loc\": {\n        \"start\": {\n          \"line\": 311,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 311,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 9244,\n      \"end\": 9245,\n      \"loc\": {\n        \"start\": {\n          \"line\": 311,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 311,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 9246,\n      \"end\": 9251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 311,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 311,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 9252,\n      \"end\": 9254,\n      \"loc\": {\n        \"start\": {\n          \"line\": 311,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 311,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 9259,\n      \"end\": 9264,\n      \"loc\": {\n        \"start\": {\n          \"line\": 312,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 312,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9264,\n      \"end\": 9265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 312,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 312,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 9265,\n      \"end\": 9275,\n      \"loc\": {\n        \"start\": {\n          \"line\": 312,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 312,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 9276,\n      \"end\": 9277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 312,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 312,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 9278,\n      \"end\": 9283,\n      \"loc\": {\n        \"start\": {\n          \"line\": 312,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 312,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 9284,\n      \"end\": 9286,\n      \"loc\": {\n        \"start\": {\n          \"line\": 312,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 312,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 9291,\n      \"end\": 9296,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9296,\n      \"end\": 9297,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 9297,\n      \"end\": 9307,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 9308,\n      \"end\": 9309,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 9310,\n      \"end\": 9315,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 9316,\n      \"end\": 9318,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 9323,\n      \"end\": 9328,\n      \"loc\": {\n        \"start\": {\n          \"line\": 314,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 314,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9328,\n      \"end\": 9329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 314,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 314,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 9329,\n      \"end\": 9339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 314,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 314,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 9340,\n      \"end\": 9341,\n      \"loc\": {\n        \"start\": {\n          \"line\": 314,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 314,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 9342,\n      \"end\": 9347,\n      \"loc\": {\n        \"start\": {\n          \"line\": 314,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 314,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9351,\n      \"end\": 9352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 315,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 315,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9353,\n      \"end\": 9354,\n      \"loc\": {\n        \"start\": {\n          \"line\": 315,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 315,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9359,\n      \"end\": 9366,\n      \"loc\": {\n        \"start\": {\n          \"line\": 316,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 316,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9373,\n      \"end\": 9374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 316,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 316,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 9375,\n      \"end\": 9380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 316,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 316,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9380,\n      \"end\": 9381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 316,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 316,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 9386,\n      \"end\": 9399,\n      \"loc\": {\n        \"start\": {\n          \"line\": 317,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 317,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9400,\n      \"end\": 9401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 317,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 317,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 9402,\n      \"end\": 9406,\n      \"loc\": {\n        \"start\": {\n          \"line\": 317,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 317,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9406,\n      \"end\": 9407,\n      \"loc\": {\n        \"start\": {\n          \"line\": 317,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 317,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9411,\n      \"end\": 9412,\n      \"loc\": {\n        \"start\": {\n          \"line\": 318,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 318,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 9416,\n      \"end\": 9420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 319,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 319,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9421,\n      \"end\": 9422,\n      \"loc\": {\n        \"start\": {\n          \"line\": 319,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 319,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 9427,\n      \"end\": 9429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9429,\n      \"end\": 9430,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 9430,\n      \"end\": 9431,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 9431,\n      \"end\": 9437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 9438,\n      \"end\": 9440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9441,\n      \"end\": 9448,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 9449,\n      \"end\": 9452,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"body\",\n      \"start\": 9453,\n      \"end\": 9457,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9457,\n      \"end\": 9458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9459,\n      \"end\": 9460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 320,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 320,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"results\",\n      \"start\": 9466,\n      \"end\": 9473,\n      \"loc\": {\n        \"start\": {\n          \"line\": 321,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 321,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9473,\n      \"end\": 9474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 321,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 321,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"push\",\n      \"start\": 9474,\n      \"end\": 9478,\n      \"loc\": {\n        \"start\": {\n          \"line\": 321,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 321,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9478,\n      \"end\": 9479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 321,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 321,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9479,\n      \"end\": 9486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 321,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 321,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9486,\n      \"end\": 9487,\n      \"loc\": {\n        \"start\": {\n          \"line\": 321,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 321,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9487,\n      \"end\": 9488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 321,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 321,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9493,\n      \"end\": 9494,\n      \"loc\": {\n        \"start\": {\n          \"line\": 322,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 322,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 9500,\n      \"end\": 9503,\n      \"loc\": {\n        \"start\": {\n          \"line\": 324,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 9504,\n      \"end\": 9510,\n      \"loc\": {\n        \"start\": {\n          \"line\": 324,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9511,\n      \"end\": 9512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 324,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9513,\n      \"end\": 9520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 324,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9520,\n      \"end\": 9521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 324,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 9521,\n      \"end\": 9532,\n      \"loc\": {\n        \"start\": {\n          \"line\": 324,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9532,\n      \"end\": 9533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 324,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 9539,\n      \"end\": 9541,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9541,\n      \"end\": 9542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 9542,\n      \"end\": 9548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9548,\n      \"end\": 9549,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9550,\n      \"end\": 9551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 9557,\n      \"end\": 9562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9562,\n      \"end\": 9563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 9563,\n      \"end\": 9569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 9570,\n      \"end\": 9572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 9573,\n      \"end\": 9579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9579,\n      \"end\": 9580,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 9580,\n      \"end\": 9590,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 9591,\n      \"end\": 9594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9595,\n      \"end\": 9602,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9602,\n      \"end\": 9603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9604,\n      \"end\": 9605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9612,\n      \"end\": 9619,\n      \"loc\": {\n        \"start\": {\n          \"line\": 328,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 328,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9620,\n      \"end\": 9621,\n      \"loc\": {\n        \"start\": {\n          \"line\": 328,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 328,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 9622,\n      \"end\": 9628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 328,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 328,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9628,\n      \"end\": 9629,\n      \"loc\": {\n        \"start\": {\n          \"line\": 328,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 328,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 9636,\n      \"end\": 9642,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9644,\n      \"end\": 9645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9646,\n      \"end\": 9653,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9653,\n      \"end\": 9654,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 9654,\n      \"end\": 9665,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9665,\n      \"end\": 9666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9672,\n      \"end\": 9673,\n      \"loc\": {\n        \"start\": {\n          \"line\": 330,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 330,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 9680,\n      \"end\": 9687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 332,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 332,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9688,\n      \"end\": 9689,\n      \"loc\": {\n        \"start\": {\n          \"line\": 332,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 332,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 9690,\n      \"end\": 9696,\n      \"loc\": {\n        \"start\": {\n          \"line\": 332,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 332,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9696,\n      \"end\": 9697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 332,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 332,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9702,\n      \"end\": 9703,\n      \"loc\": {\n        \"start\": {\n          \"line\": 333,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 333,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 9708,\n      \"end\": 9712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 334,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 334,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9713,\n      \"end\": 9714,\n      \"loc\": {\n        \"start\": {\n          \"line\": 334,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 334,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"break\",\n        \"keyword\": \"break\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"break\",\n      \"start\": 9720,\n      \"end\": 9725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 335,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 335,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9725,\n      \"end\": 9726,\n      \"loc\": {\n        \"start\": {\n          \"line\": 335,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 335,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9731,\n      \"end\": 9732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 336,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 336,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9736,\n      \"end\": 9737,\n      \"loc\": {\n        \"start\": {\n          \"line\": 337,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 337,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9740,\n      \"end\": 9741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 9745,\n      \"end\": 9751,\n      \"loc\": {\n        \"start\": {\n          \"line\": 340,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 340,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"results\",\n      \"start\": 9752,\n      \"end\": 9759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 340,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 340,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9759,\n      \"end\": 9760,\n      \"loc\": {\n        \"start\": {\n          \"line\": 340,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 340,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9762,\n      \"end\": 9763,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 9766,\n      \"end\": 9924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 343,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 346,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"draw\",\n      \"start\": 9926,\n      \"end\": 9930,\n      \"loc\": {\n        \"start\": {\n          \"line\": 347,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 347,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9930,\n      \"end\": 9931,\n      \"loc\": {\n        \"start\": {\n          \"line\": 347,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 347,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 9931,\n      \"end\": 9938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 347,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 347,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9938,\n      \"end\": 9939,\n      \"loc\": {\n        \"start\": {\n          \"line\": 347,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 347,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9940,\n      \"end\": 9941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 347,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 347,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 9944,\n      \"end\": 9949,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 9950,\n      \"end\": 9956,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9957,\n      \"end\": 9958,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 9959,\n      \"end\": 9963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9963,\n      \"end\": 9964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bodies\",\n      \"start\": 9964,\n      \"end\": 9971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9971,\n      \"end\": 9972,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 9975,\n      \"end\": 9980,\n      \"loc\": {\n        \"start\": {\n          \"line\": 349,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 349,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 9981,\n      \"end\": 9986,\n      \"loc\": {\n        \"start\": {\n          \"line\": 349,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 349,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9988,\n      \"end\": 9989,\n      \"loc\": {\n        \"start\": {\n          \"line\": 349,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 349,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 9990,\n      \"end\": 9996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 349,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 349,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9996,\n      \"end\": 9997,\n      \"loc\": {\n        \"start\": {\n          \"line\": 349,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 349,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 9997,\n      \"end\": 10003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 349,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 349,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10003,\n      \"end\": 10004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 349,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 349,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 10008,\n      \"end\": 10011,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10011,\n      \"end\": 10012,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 10012,\n      \"end\": 10015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 10016,\n      \"end\": 10017,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10018,\n      \"end\": 10019,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 10020,\n      \"end\": 10021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10021,\n      \"end\": 10022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 10023,\n      \"end\": 10024,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10025,\n      \"end\": 10026,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 10027,\n      \"end\": 10032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10032,\n      \"end\": 10033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"++/--\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": true,\n        \"binop\": null\n      },\n      \"value\": \"++\",\n      \"start\": 10034,\n      \"end\": 10036,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 10036,\n      \"end\": 10037,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10037,\n      \"end\": 10038,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10039,\n      \"end\": 10040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bodies\",\n      \"start\": 10044,\n      \"end\": 10050,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10050,\n      \"end\": 10051,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 10051,\n      \"end\": 10052,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10052,\n      \"end\": 10053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10053,\n      \"end\": 10054,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"draw\",\n      \"start\": 10054,\n      \"end\": 10058,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10058,\n      \"end\": 10059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 10059,\n      \"end\": 10066,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10066,\n      \"end\": 10067,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10067,\n      \"end\": 10068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 352,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 352,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10071,\n      \"end\": 10072,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10074,\n      \"end\": 10075,\n      \"loc\": {\n        \"start\": {\n          \"line\": 354,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 354,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t \",\n      \"start\": 10078,\n      \"end\": 10287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 356,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 359,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"drawBVH\",\n      \"start\": 10289,\n      \"end\": 10296,\n      \"loc\": {\n        \"start\": {\n          \"line\": 360,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 360,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10296,\n      \"end\": 10297,\n      \"loc\": {\n        \"start\": {\n          \"line\": 360,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 360,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 10297,\n      \"end\": 10304,\n      \"loc\": {\n        \"start\": {\n          \"line\": 360,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 360,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10304,\n      \"end\": 10305,\n      \"loc\": {\n        \"start\": {\n          \"line\": 360,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 360,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10306,\n      \"end\": 10307,\n      \"loc\": {\n        \"start\": {\n          \"line\": 360,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 360,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 10310,\n      \"end\": 10313,\n      \"loc\": {\n        \"start\": {\n          \"line\": 361,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 361,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10314,\n      \"end\": 10321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 361,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 361,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10328,\n      \"end\": 10329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 361,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 361,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 10330,\n      \"end\": 10334,\n      \"loc\": {\n        \"start\": {\n          \"line\": 361,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 361,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10334,\n      \"end\": 10335,\n      \"loc\": {\n        \"start\": {\n          \"line\": 361,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 361,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_hierarchy\",\n      \"start\": 10335,\n      \"end\": 10345,\n      \"loc\": {\n        \"start\": {\n          \"line\": 361,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 361,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10345,\n      \"end\": 10346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 361,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 361,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 10349,\n      \"end\": 10352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 10353,\n      \"end\": 10366,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10367,\n      \"end\": 10368,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 10369,\n      \"end\": 10373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10373,\n      \"end\": 10374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 10378,\n      \"end\": 10383,\n      \"loc\": {\n        \"start\": {\n          \"line\": 364,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 364,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10383,\n      \"end\": 10384,\n      \"loc\": {\n        \"start\": {\n          \"line\": 364,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 364,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10384,\n      \"end\": 10391,\n      \"loc\": {\n        \"start\": {\n          \"line\": 364,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 364,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10391,\n      \"end\": 10392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 364,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 364,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10393,\n      \"end\": 10394,\n      \"loc\": {\n        \"start\": {\n          \"line\": 364,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 364,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10398,\n      \"end\": 10400,\n      \"loc\": {\n        \"start\": {\n          \"line\": 365,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 365,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10400,\n      \"end\": 10401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 365,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 365,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 10401,\n      \"end\": 10414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 365,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 365,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10414,\n      \"end\": 10415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 365,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 365,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10416,\n      \"end\": 10417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 365,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 365,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 10422,\n      \"end\": 10435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10436,\n      \"end\": 10437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 10438,\n      \"end\": 10443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10443,\n      \"end\": 10444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 10450,\n      \"end\": 10453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 10454,\n      \"end\": 10458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10459,\n      \"end\": 10460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10461,\n      \"end\": 10468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10468,\n      \"end\": 10469,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 10469,\n      \"end\": 10480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10481,\n      \"end\": 10482,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10483,\n      \"end\": 10490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10490,\n      \"end\": 10491,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 10491,\n      \"end\": 10500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10501,\n      \"end\": 10502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 10503,\n      \"end\": 10507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10507,\n      \"end\": 10508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 368,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 368,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 10514,\n      \"end\": 10519,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10519,\n      \"end\": 10520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 10520,\n      \"end\": 10524,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10524,\n      \"end\": 10525,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10526,\n      \"end\": 10527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10533,\n      \"end\": 10540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 371,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 371,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10541,\n      \"end\": 10542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 371,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 371,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 10543,\n      \"end\": 10547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 371,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 371,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10547,\n      \"end\": 10548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 371,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 371,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 10554,\n      \"end\": 10558,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10562,\n      \"end\": 10563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10564,\n      \"end\": 10571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10571,\n      \"end\": 10572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 10572,\n      \"end\": 10583,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10584,\n      \"end\": 10585,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10586,\n      \"end\": 10593,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10593,\n      \"end\": 10594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 10594,\n      \"end\": 10603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10604,\n      \"end\": 10605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 10606,\n      \"end\": 10610,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10610,\n      \"end\": 10611,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10616,\n      \"end\": 10617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 373,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 373,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10621,\n      \"end\": 10622,\n      \"loc\": {\n        \"start\": {\n          \"line\": 374,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 374,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10627,\n      \"end\": 10632,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 10633,\n      \"end\": 10639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10640,\n      \"end\": 10641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10642,\n      \"end\": 10649,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10649,\n      \"end\": 10650,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 10650,\n      \"end\": 10661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10661,\n      \"end\": 10662,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10666,\n      \"end\": 10671,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 10672,\n      \"end\": 10677,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10679,\n      \"end\": 10680,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10681,\n      \"end\": 10688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10688,\n      \"end\": 10689,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 10689,\n      \"end\": 10699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10699,\n      \"end\": 10700,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10704,\n      \"end\": 10709,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 10710,\n      \"end\": 10715,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10717,\n      \"end\": 10718,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10719,\n      \"end\": 10726,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10726,\n      \"end\": 10727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 10727,\n      \"end\": 10737,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10737,\n      \"end\": 10738,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10742,\n      \"end\": 10747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 379,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 379,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 10748,\n      \"end\": 10753,\n      \"loc\": {\n        \"start\": {\n          \"line\": 379,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 379,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10755,\n      \"end\": 10756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 379,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 379,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10757,\n      \"end\": 10764,\n      \"loc\": {\n        \"start\": {\n          \"line\": 379,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 379,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10764,\n      \"end\": 10765,\n      \"loc\": {\n        \"start\": {\n          \"line\": 379,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 379,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 10765,\n      \"end\": 10775,\n      \"loc\": {\n        \"start\": {\n          \"line\": 379,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 379,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10775,\n      \"end\": 10776,\n      \"loc\": {\n        \"start\": {\n          \"line\": 379,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 379,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10780,\n      \"end\": 10785,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 10786,\n      \"end\": 10791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10793,\n      \"end\": 10794,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10795,\n      \"end\": 10802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10802,\n      \"end\": 10803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 10803,\n      \"end\": 10813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10813,\n      \"end\": 10814,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10818,\n      \"end\": 10823,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 10824,\n      \"end\": 10829,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10831,\n      \"end\": 10832,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 10833,\n      \"end\": 10839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10840,\n      \"end\": 10841,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 10842,\n      \"end\": 10849,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10849,\n      \"end\": 10850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 10850,\n      \"end\": 10860,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10861,\n      \"end\": 10862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 10863,\n      \"end\": 10867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10867,\n      \"end\": 10868,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 10873,\n      \"end\": 10880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10880,\n      \"end\": 10881,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"moveTo\",\n      \"start\": 10881,\n      \"end\": 10887,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10887,\n      \"end\": 10888,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 10888,\n      \"end\": 10893,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10893,\n      \"end\": 10894,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 10895,\n      \"end\": 10900,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10900,\n      \"end\": 10901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10901,\n      \"end\": 10902,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 10906,\n      \"end\": 10913,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10913,\n      \"end\": 10914,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"lineTo\",\n      \"start\": 10914,\n      \"end\": 10920,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10920,\n      \"end\": 10921,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 10921,\n      \"end\": 10926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10926,\n      \"end\": 10927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 10928,\n      \"end\": 10933,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10933,\n      \"end\": 10934,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10934,\n      \"end\": 10935,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 10939,\n      \"end\": 10946,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10946,\n      \"end\": 10947,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"lineTo\",\n      \"start\": 10947,\n      \"end\": 10953,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10953,\n      \"end\": 10954,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 10954,\n      \"end\": 10959,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10959,\n      \"end\": 10960,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 10961,\n      \"end\": 10966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10966,\n      \"end\": 10967,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10967,\n      \"end\": 10968,\n      \"loc\": {\n        \"start\": {\n          \"line\": 385,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 385,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 10972,\n      \"end\": 10979,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10979,\n      \"end\": 10980,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"lineTo\",\n      \"start\": 10980,\n      \"end\": 10986,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10986,\n      \"end\": 10987,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 10987,\n      \"end\": 10992,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10992,\n      \"end\": 10993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 10994,\n      \"end\": 10999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10999,\n      \"end\": 11000,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11000,\n      \"end\": 11001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 11005,\n      \"end\": 11012,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11012,\n      \"end\": 11013,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"lineTo\",\n      \"start\": 11013,\n      \"end\": 11019,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11019,\n      \"end\": 11020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 11020,\n      \"end\": 11025,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11025,\n      \"end\": 11026,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 11027,\n      \"end\": 11032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11032,\n      \"end\": 11033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11033,\n      \"end\": 11034,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 11039,\n      \"end\": 11041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 389,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 389,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11041,\n      \"end\": 11042,\n      \"loc\": {\n        \"start\": {\n          \"line\": 389,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 389,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 11042,\n      \"end\": 11047,\n      \"loc\": {\n        \"start\": {\n          \"line\": 389,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 389,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11047,\n      \"end\": 11048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 389,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 389,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11049,\n      \"end\": 11050,\n      \"loc\": {\n        \"start\": {\n          \"line\": 389,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 389,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 11055,\n      \"end\": 11062,\n      \"loc\": {\n        \"start\": {\n          \"line\": 390,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 390,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11069,\n      \"end\": 11070,\n      \"loc\": {\n        \"start\": {\n          \"line\": 390,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 390,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"right\",\n      \"start\": 11071,\n      \"end\": 11076,\n      \"loc\": {\n        \"start\": {\n          \"line\": 390,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 390,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11076,\n      \"end\": 11077,\n      \"loc\": {\n        \"start\": {\n          \"line\": 390,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 390,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"traverse_left\",\n      \"start\": 11082,\n      \"end\": 11095,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11096,\n      \"end\": 11097,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 11098,\n      \"end\": 11102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11102,\n      \"end\": 11103,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11107,\n      \"end\": 11108,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 11112,\n      \"end\": 11116,\n      \"loc\": {\n        \"start\": {\n          \"line\": 393,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 393,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11117,\n      \"end\": 11118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 393,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 393,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 11123,\n      \"end\": 11126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 11127,\n      \"end\": 11133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11134,\n      \"end\": 11135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 11136,\n      \"end\": 11143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11143,\n      \"end\": 11144,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 11144,\n      \"end\": 11155,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11155,\n      \"end\": 11156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 11162,\n      \"end\": 11164,\n      \"loc\": {\n        \"start\": {\n          \"line\": 396,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 396,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11164,\n      \"end\": 11165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 396,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 396,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 11165,\n      \"end\": 11171,\n      \"loc\": {\n        \"start\": {\n          \"line\": 396,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 396,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11171,\n      \"end\": 11172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 396,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 396,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11173,\n      \"end\": 11174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 396,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 396,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"while\",\n        \"keyword\": \"while\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"while\",\n      \"start\": 11180,\n      \"end\": 11185,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11185,\n      \"end\": 11186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 11186,\n      \"end\": 11192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 11193,\n      \"end\": 11195,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 11196,\n      \"end\": 11202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11202,\n      \"end\": 11203,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 11203,\n      \"end\": 11213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 11214,\n      \"end\": 11217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 11218,\n      \"end\": 11225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11225,\n      \"end\": 11226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11227,\n      \"end\": 11228,\n      \"loc\": {\n        \"start\": {\n          \"line\": 397,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 397,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 11235,\n      \"end\": 11242,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11243,\n      \"end\": 11244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 11245,\n      \"end\": 11251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11251,\n      \"end\": 11252,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 11259,\n      \"end\": 11265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11267,\n      \"end\": 11268,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 11269,\n      \"end\": 11276,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11276,\n      \"end\": 11277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 11277,\n      \"end\": 11288,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11288,\n      \"end\": 11289,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11295,\n      \"end\": 11296,\n      \"loc\": {\n        \"start\": {\n          \"line\": 400,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 400,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current\",\n      \"start\": 11303,\n      \"end\": 11310,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11311,\n      \"end\": 11312,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"parent\",\n      \"start\": 11313,\n      \"end\": 11319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11319,\n      \"end\": 11320,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11325,\n      \"end\": 11326,\n      \"loc\": {\n        \"start\": {\n          \"line\": 403,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 403,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 11331,\n      \"end\": 11335,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11336,\n      \"end\": 11337,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"break\",\n        \"keyword\": \"break\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"break\",\n      \"start\": 11343,\n      \"end\": 11348,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11348,\n      \"end\": 11349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11354,\n      \"end\": 11355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11359,\n      \"end\": 11360,\n      \"loc\": {\n        \"start\": {\n          \"line\": 407,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 407,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11363,\n      \"end\": 11364,\n      \"loc\": {\n        \"start\": {\n          \"line\": 408,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 408,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11366,\n      \"end\": 11367,\n      \"loc\": {\n        \"start\": {\n          \"line\": 409,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 409,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11368,\n      \"end\": 11369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 410,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 410,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11369,\n      \"end\": 11370,\n      \"loc\": {\n        \"start\": {\n          \"line\": 410,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 410,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11371,\n      \"end\": 11371,\n      \"loc\": {\n        \"start\": {\n          \"line\": 411,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 411,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/BVHBranch.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 1205,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 74,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 1205,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 74,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"VariableDeclaration\",\n        \"start\": 20,\n        \"end\": 43,\n        \"loc\": {\n          \"start\": {\n            \"line\": 4,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 4,\n            \"column\": 23\n          }\n        },\n        \"declarations\": [\n          {\n            \"type\": \"VariableDeclarator\",\n            \"start\": 26,\n            \"end\": 42,\n            \"loc\": {\n              \"start\": {\n                \"line\": 4,\n                \"column\": 6\n              },\n              \"end\": {\n                \"line\": 4,\n                \"column\": 22\n              }\n            },\n            \"id\": {\n              \"type\": \"Identifier\",\n              \"start\": 26,\n              \"end\": 37,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 4,\n                  \"column\": 6\n                },\n                \"end\": {\n                  \"line\": 4,\n                  \"column\": 17\n                },\n                \"identifierName\": \"branch_pool\"\n              },\n              \"name\": \"branch_pool\",\n              \"leadingComments\": null\n            },\n            \"init\": {\n              \"type\": \"ArrayExpression\",\n              \"start\": 40,\n              \"end\": 42,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 4,\n                  \"column\": 20\n                },\n                \"end\": {\n                  \"line\": 4,\n                  \"column\": 22\n                }\n              },\n              \"elements\": []\n            },\n            \"leadingComments\": null\n          }\n        ],\n        \"kind\": \"const\",\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * @private\\n \",\n            \"start\": 0,\n            \"end\": 19,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 3,\n                \"column\": 3\n              }\n            }\n          }\n        ],\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A branch within a BVH\\n * @class\\n * @private\\n \",\n            \"start\": 45,\n            \"end\": 99,\n            \"loc\": {\n              \"start\": {\n                \"line\": 6,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 10,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 100,\n        \"end\": 1203,\n        \"loc\": {\n          \"start\": {\n            \"line\": 11,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 73,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 115,\n          \"end\": 1203,\n          \"loc\": {\n            \"start\": {\n              \"line\": 11,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 73,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 121,\n            \"end\": 130,\n            \"loc\": {\n              \"start\": {\n                \"line\": 11,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 11,\n                \"column\": 30\n              },\n              \"identifierName\": \"BVHBranch\"\n            },\n            \"name\": \"BVHBranch\",\n            \"leadingComments\": null\n          },\n          \"superClass\": null,\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 131,\n            \"end\": 1203,\n            \"loc\": {\n              \"start\": {\n                \"line\": 11,\n                \"column\": 31\n              },\n              \"end\": {\n                \"line\": 73,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 161,\n                \"end\": 568,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 15,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 42,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 161,\n                  \"end\": 172,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 15,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 15,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 175,\n                  \"end\": 568,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 15,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 42,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 197,\n                      \"end\": 221,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 17,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 17,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 197,\n                        \"end\": 220,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 17,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 17,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 197,\n                          \"end\": 213,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 197,\n                            \"end\": 201,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 202,\n                            \"end\": 213,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"_bvh_parent\"\n                            },\n                            \"name\": \"_bvh_parent\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 216,\n                          \"end\": 220,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 25\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 179,\n                          \"end\": 194,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 16,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 16,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 225,\n                          \"end\": 240,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 19,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 243,\n                      \"end\": 267,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 20,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 20,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 243,\n                        \"end\": 266,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 20,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 20,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 243,\n                          \"end\": 259,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 20,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 20,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 243,\n                            \"end\": 247,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 20,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 20,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 248,\n                            \"end\": 259,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 20,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 20,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"_bvh_branch\"\n                            },\n                            \"name\": \"_bvh_branch\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 262,\n                          \"end\": 266,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 20,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 20,\n                              \"column\": 25\n                            }\n                          },\n                          \"value\": true\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 225,\n                          \"end\": 240,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 19,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 271,\n                          \"end\": 286,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 22,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 289,\n                      \"end\": 311,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 23,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 23,\n                          \"column\": 24\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 289,\n                        \"end\": 310,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 23,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 23,\n                            \"column\": 23\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 289,\n                          \"end\": 303,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 23,\n                              \"column\": 16\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 289,\n                            \"end\": 293,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 23,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 23,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 294,\n                            \"end\": 303,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 23,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 23,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"_bvh_left\"\n                            },\n                            \"name\": \"_bvh_left\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 306,\n                          \"end\": 310,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 23,\n                              \"column\": 23\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 271,\n                          \"end\": 286,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 22,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 315,\n                          \"end\": 330,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 25,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 25,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 333,\n                      \"end\": 356,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 26,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 26,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 333,\n                        \"end\": 355,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 26,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 26,\n                            \"column\": 24\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 333,\n                          \"end\": 348,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 26,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 26,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 333,\n                            \"end\": 337,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 26,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 26,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 338,\n                            \"end\": 348,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 26,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 26,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_right\"\n                            },\n                            \"name\": \"_bvh_right\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 351,\n                          \"end\": 355,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 26,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 26,\n                              \"column\": 24\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 315,\n                          \"end\": 330,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 25,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 25,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 360,\n                          \"end\": 375,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 28,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 28,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 378,\n                      \"end\": 397,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 29,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 29,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 378,\n                        \"end\": 396,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 29,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 29,\n                            \"column\": 20\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 378,\n                          \"end\": 392,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 29,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 29,\n                              \"column\": 16\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 378,\n                            \"end\": 382,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 29,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 29,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 383,\n                            \"end\": 392,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 29,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 29,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"_bvh_sort\"\n                            },\n                            \"name\": \"_bvh_sort\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 395,\n                          \"end\": 396,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 29,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 29,\n                              \"column\": 20\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 360,\n                          \"end\": 375,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 28,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 28,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 401,\n                          \"end\": 416,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 31,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 31,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 419,\n                      \"end\": 439,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 32,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 32,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 419,\n                        \"end\": 438,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 32,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 32,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 419,\n                          \"end\": 434,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 32,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 32,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 419,\n                            \"end\": 423,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 32,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 32,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 424,\n                            \"end\": 434,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 32,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 32,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_min_x\"\n                            },\n                            \"name\": \"_bvh_min_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 437,\n                          \"end\": 438,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 32,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 32,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 401,\n                          \"end\": 416,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 31,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 31,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 443,\n                          \"end\": 458,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 34,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 34,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 461,\n                      \"end\": 481,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 35,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 35,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 461,\n                        \"end\": 480,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 35,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 35,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 461,\n                          \"end\": 476,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 35,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 35,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 461,\n                            \"end\": 465,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 35,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 35,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 466,\n                            \"end\": 476,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 35,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 35,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_min_y\"\n                            },\n                            \"name\": \"_bvh_min_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 479,\n                          \"end\": 480,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 35,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 35,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 443,\n                          \"end\": 458,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 34,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 34,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 485,\n                          \"end\": 500,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 37,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 37,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 503,\n                      \"end\": 523,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 38,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 38,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 503,\n                        \"end\": 522,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 38,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 38,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 503,\n                          \"end\": 518,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 38,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 38,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 503,\n                            \"end\": 507,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 38,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 38,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 508,\n                            \"end\": 518,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 38,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 38,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_max_x\"\n                            },\n                            \"name\": \"_bvh_max_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 521,\n                          \"end\": 522,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 38,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 38,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 485,\n                          \"end\": 500,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 37,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 37,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 527,\n                          \"end\": 542,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 40,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 40,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 545,\n                      \"end\": 565,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 41,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 41,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 545,\n                        \"end\": 564,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 41,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 41,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 545,\n                          \"end\": 560,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 545,\n                            \"end\": 549,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 550,\n                            \"end\": 560,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_max_y\"\n                            },\n                            \"name\": \"_bvh_max_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 563,\n                          \"end\": 564,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 527,\n                          \"end\": 542,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 40,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 40,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t \",\n                    \"start\": 134,\n                    \"end\": 159,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 12,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 14,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a branch from the branch pool or creates a new branch\\n\\t * @returns {BVHBranch}\\n\\t \",\n                    \"start\": 571,\n                    \"end\": 670,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 44,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 47,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 672,\n                \"end\": 782,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 48,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 54,\n                    \"column\": 2\n                  }\n                },\n                \"static\": true,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 679,\n                  \"end\": 688,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 48,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 48,\n                      \"column\": 17\n                    },\n                    \"identifierName\": \"getBranch\"\n                  },\n                  \"name\": \"getBranch\"\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 691,\n                  \"end\": 782,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 48,\n                      \"column\": 20\n                    },\n                    \"end\": {\n                      \"line\": 54,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 695,\n                      \"end\": 752,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 49,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 51,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 698,\n                        \"end\": 716,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 49,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 49,\n                            \"column\": 23\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 698,\n                          \"end\": 709,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 49,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 49,\n                              \"column\": 16\n                            },\n                            \"identifierName\": \"branch_pool\"\n                          },\n                          \"name\": \"branch_pool\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 710,\n                          \"end\": 716,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 49,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 49,\n                              \"column\": 23\n                            },\n                            \"identifierName\": \"length\"\n                          },\n                          \"name\": \"length\"\n                        },\n                        \"computed\": false\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 718,\n                        \"end\": 752,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 49,\n                            \"column\": 25\n                          },\n                          \"end\": {\n                            \"line\": 51,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ReturnStatement\",\n                            \"start\": 723,\n                            \"end\": 748,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 50,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 50,\n                                \"column\": 28\n                              }\n                            },\n                            \"argument\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 730,\n                              \"end\": 747,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 50,\n                                  \"column\": 10\n                                },\n                                \"end\": {\n                                  \"line\": 50,\n                                  \"column\": 27\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 730,\n                                \"end\": 745,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 50,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 50,\n                                    \"column\": 25\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 730,\n                                  \"end\": 741,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 50,\n                                      \"column\": 10\n                                    },\n                                    \"end\": {\n                                      \"line\": 50,\n                                      \"column\": 21\n                                    },\n                                    \"identifierName\": \"branch_pool\"\n                                  },\n                                  \"name\": \"branch_pool\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 742,\n                                  \"end\": 745,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 50,\n                                      \"column\": 22\n                                    },\n                                    \"end\": {\n                                      \"line\": 50,\n                                      \"column\": 25\n                                    },\n                                    \"identifierName\": \"pop\"\n                                  },\n                                  \"name\": \"pop\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 756,\n                      \"end\": 779,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 53,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 53,\n                          \"column\": 25\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"NewExpression\",\n                        \"start\": 763,\n                        \"end\": 778,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 53,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 53,\n                            \"column\": 24\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 767,\n                          \"end\": 776,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 53,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 53,\n                              \"column\": 22\n                            },\n                            \"identifierName\": \"BVHBranch\"\n                          },\n                          \"name\": \"BVHBranch\"\n                        },\n                        \"arguments\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a branch from the branch pool or creates a new branch\\n\\t * @returns {BVHBranch}\\n\\t \",\n                    \"start\": 571,\n                    \"end\": 670,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 44,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 47,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Releases a branch back into the branch pool\\n\\t * @param {BVHBranch} branch The branch to release\\n\\t \",\n                    \"start\": 785,\n                    \"end\": 893,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 56,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 59,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 895,\n                \"end\": 956,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 60,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 62,\n                    \"column\": 2\n                  }\n                },\n                \"static\": true,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 902,\n                  \"end\": 915,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 60,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 60,\n                      \"column\": 21\n                    },\n                    \"identifierName\": \"releaseBranch\"\n                  },\n                  \"name\": \"releaseBranch\"\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 916,\n                    \"end\": 922,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 60,\n                        \"column\": 22\n                      },\n                      \"end\": {\n                        \"line\": 60,\n                        \"column\": 28\n                      },\n                      \"identifierName\": \"branch\"\n                    },\n                    \"name\": \"branch\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 924,\n                  \"end\": 956,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 60,\n                      \"column\": 30\n                    },\n                    \"end\": {\n                      \"line\": 62,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 928,\n                      \"end\": 953,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 61,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 61,\n                          \"column\": 27\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 928,\n                        \"end\": 952,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 61,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 61,\n                            \"column\": 26\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 928,\n                          \"end\": 944,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 61,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 61,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 928,\n                            \"end\": 939,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 61,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 61,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"branch_pool\"\n                            },\n                            \"name\": \"branch_pool\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 940,\n                            \"end\": 944,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 61,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 61,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"push\"\n                            },\n                            \"name\": \"push\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 945,\n                            \"end\": 951,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 61,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 61,\n                                \"column\": 25\n                              },\n                              \"identifierName\": \"branch\"\n                            },\n                            \"name\": \"branch\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Releases a branch back into the branch pool\\n\\t * @param {BVHBranch} branch The branch to release\\n\\t \",\n                    \"start\": 785,\n                    \"end\": 893,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 56,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 59,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Sorting callback used to sort branches by deepest first\\n\\t * @param {BVHBranch} a The first branch\\n\\t * @param {BVHBranch} b The second branch\\n\\t * @returns {Number}\\n\\t \",\n                    \"start\": 959,\n                    \"end\": 1134,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 69,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 1136,\n                \"end\": 1201,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 70,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 72,\n                    \"column\": 2\n                  }\n                },\n                \"static\": true,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 1143,\n                  \"end\": 1155,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 70,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 70,\n                      \"column\": 20\n                    },\n                    \"identifierName\": \"sortBranches\"\n                  },\n                  \"name\": \"sortBranches\"\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 1156,\n                    \"end\": 1157,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 70,\n                        \"column\": 21\n                      },\n                      \"end\": {\n                        \"line\": 70,\n                        \"column\": 22\n                      },\n                      \"identifierName\": \"a\"\n                    },\n                    \"name\": \"a\"\n                  },\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 1159,\n                    \"end\": 1160,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 70,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 70,\n                        \"column\": 25\n                      },\n                      \"identifierName\": \"b\"\n                    },\n                    \"name\": \"b\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 1162,\n                  \"end\": 1201,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 70,\n                      \"column\": 27\n                    },\n                    \"end\": {\n                      \"line\": 72,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 1166,\n                      \"end\": 1198,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 71,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 71,\n                          \"column\": 34\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"ConditionalExpression\",\n                        \"start\": 1173,\n                        \"end\": 1197,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 71,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 71,\n                            \"column\": 33\n                          }\n                        },\n                        \"test\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 1173,\n                          \"end\": 1188,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 71,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 71,\n                              \"column\": 24\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1173,\n                            \"end\": 1179,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 71,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 71,\n                                \"column\": 15\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1173,\n                              \"end\": 1174,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 71,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 71,\n                                  \"column\": 10\n                                },\n                                \"identifierName\": \"a\"\n                              },\n                              \"name\": \"a\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1175,\n                              \"end\": 1179,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 71,\n                                  \"column\": 11\n                                },\n                                \"end\": {\n                                  \"line\": 71,\n                                  \"column\": 15\n                                },\n                                \"identifierName\": \"sort\"\n                              },\n                              \"name\": \"sort\"\n                            },\n                            \"computed\": false\n                          },\n                          \"operator\": \">\",\n                          \"right\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1182,\n                            \"end\": 1188,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 71,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 71,\n                                \"column\": 24\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1182,\n                              \"end\": 1183,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 71,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 71,\n                                  \"column\": 19\n                                },\n                                \"identifierName\": \"b\"\n                              },\n                              \"name\": \"b\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1184,\n                              \"end\": 1188,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 71,\n                                  \"column\": 20\n                                },\n                                \"end\": {\n                                  \"line\": 71,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"sort\"\n                              },\n                              \"name\": \"sort\"\n                            },\n                            \"computed\": false\n                          }\n                        },\n                        \"consequent\": {\n                          \"type\": \"UnaryExpression\",\n                          \"start\": 1191,\n                          \"end\": 1193,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 71,\n                              \"column\": 27\n                            },\n                            \"end\": {\n                              \"line\": 71,\n                              \"column\": 29\n                            }\n                          },\n                          \"operator\": \"-\",\n                          \"prefix\": true,\n                          \"argument\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 1192,\n                            \"end\": 1193,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 71,\n                                \"column\": 28\n                              },\n                              \"end\": {\n                                \"line\": 71,\n                                \"column\": 29\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          },\n                          \"extra\": {\n                            \"parenthesizedArgument\": false\n                          }\n                        },\n                        \"alternate\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1196,\n                          \"end\": 1197,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 71,\n                              \"column\": 32\n                            },\n                            \"end\": {\n                              \"line\": 71,\n                              \"column\": 33\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 1,\n                            \"raw\": \"1\"\n                          },\n                          \"value\": 1\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Sorting callback used to sort branches by deepest first\\n\\t * @param {BVHBranch} a The first branch\\n\\t * @param {BVHBranch} b The second branch\\n\\t * @returns {Number}\\n\\t \",\n                    \"start\": 959,\n                    \"end\": 1134,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 64,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 69,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * A branch within a BVH\\n * @class\\n * @private\\n \",\n              \"start\": 45,\n              \"end\": 99,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 6,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 10,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A branch within a BVH\\n * @class\\n * @private\\n \",\n            \"start\": 45,\n            \"end\": 99,\n            \"loc\": {\n              \"start\": {\n                \"line\": 6,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 10,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 1203,\n        \"end\": 1204,\n        \"loc\": {\n          \"start\": {\n            \"line\": 73,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 73,\n            \"column\": 2\n          }\n        }\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @private\\n \",\n      \"start\": 0,\n      \"end\": 19,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A branch within a BVH\\n * @class\\n * @private\\n \",\n      \"start\": 45,\n      \"end\": 99,\n      \"loc\": {\n        \"start\": {\n          \"line\": 6,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 134,\n      \"end\": 159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 179,\n      \"end\": 194,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 225,\n      \"end\": 240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 271,\n      \"end\": 286,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 315,\n      \"end\": 330,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 360,\n      \"end\": 375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 401,\n      \"end\": 416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 443,\n      \"end\": 458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 485,\n      \"end\": 500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 527,\n      \"end\": 542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a branch from the branch pool or creates a new branch\\n\\t * @returns {BVHBranch}\\n\\t \",\n      \"start\": 571,\n      \"end\": 670,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Releases a branch back into the branch pool\\n\\t * @param {BVHBranch} branch The branch to release\\n\\t \",\n      \"start\": 785,\n      \"end\": 893,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Sorting callback used to sort branches by deepest first\\n\\t * @param {BVHBranch} a The first branch\\n\\t * @param {BVHBranch} b The second branch\\n\\t * @returns {Number}\\n\\t \",\n      \"start\": 959,\n      \"end\": 1134,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 4\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * @private\\n \",\n      \"start\": 0,\n      \"end\": 19,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 3,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 20,\n      \"end\": 25,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch_pool\",\n      \"start\": 26,\n      \"end\": 37,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 38,\n      \"end\": 39,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 40,\n      \"end\": 41,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 41,\n      \"end\": 42,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 42,\n      \"end\": 43,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 4,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A branch within a BVH\\n * @class\\n * @private\\n \",\n      \"start\": 45,\n      \"end\": 99,\n      \"loc\": {\n        \"start\": {\n          \"line\": 6,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 100,\n      \"end\": 106,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 107,\n      \"end\": 114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 115,\n      \"end\": 120,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVHBranch\",\n      \"start\": 121,\n      \"end\": 130,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 131,\n      \"end\": 132,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 134,\n      \"end\": 159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 161,\n      \"end\": 172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 172,\n      \"end\": 173,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 173,\n      \"end\": 174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 175,\n      \"end\": 176,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 179,\n      \"end\": 194,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 197,\n      \"end\": 201,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 201,\n      \"end\": 202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 202,\n      \"end\": 213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 214,\n      \"end\": 215,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 216,\n      \"end\": 220,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 220,\n      \"end\": 221,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 225,\n      \"end\": 240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 243,\n      \"end\": 247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 247,\n      \"end\": 248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 248,\n      \"end\": 259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 260,\n      \"end\": 261,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 262,\n      \"end\": 266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 266,\n      \"end\": 267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 271,\n      \"end\": 286,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 289,\n      \"end\": 293,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 293,\n      \"end\": 294,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_left\",\n      \"start\": 294,\n      \"end\": 303,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 304,\n      \"end\": 305,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 306,\n      \"end\": 310,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 310,\n      \"end\": 311,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 315,\n      \"end\": 330,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 333,\n      \"end\": 337,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 337,\n      \"end\": 338,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_right\",\n      \"start\": 338,\n      \"end\": 348,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 349,\n      \"end\": 350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 351,\n      \"end\": 355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 355,\n      \"end\": 356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 360,\n      \"end\": 375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 378,\n      \"end\": 382,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 382,\n      \"end\": 383,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_sort\",\n      \"start\": 383,\n      \"end\": 392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 393,\n      \"end\": 394,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 395,\n      \"end\": 396,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 396,\n      \"end\": 397,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 401,\n      \"end\": 416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 419,\n      \"end\": 423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 423,\n      \"end\": 424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 424,\n      \"end\": 434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 435,\n      \"end\": 436,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 437,\n      \"end\": 438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 438,\n      \"end\": 439,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 443,\n      \"end\": 458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 461,\n      \"end\": 465,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 465,\n      \"end\": 466,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 466,\n      \"end\": 476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 477,\n      \"end\": 478,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 479,\n      \"end\": 480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 480,\n      \"end\": 481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 485,\n      \"end\": 500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 503,\n      \"end\": 507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 507,\n      \"end\": 508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 508,\n      \"end\": 518,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 519,\n      \"end\": 520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 521,\n      \"end\": 522,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 522,\n      \"end\": 523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 527,\n      \"end\": 542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 545,\n      \"end\": 549,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 549,\n      \"end\": 550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 550,\n      \"end\": 560,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 561,\n      \"end\": 562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 563,\n      \"end\": 564,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 564,\n      \"end\": 565,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 567,\n      \"end\": 568,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a branch from the branch pool or creates a new branch\\n\\t * @returns {BVHBranch}\\n\\t \",\n      \"start\": 571,\n      \"end\": 670,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"static\",\n      \"start\": 672,\n      \"end\": 678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"getBranch\",\n      \"start\": 679,\n      \"end\": 688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 688,\n      \"end\": 689,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 689,\n      \"end\": 690,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 691,\n      \"end\": 692,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 695,\n      \"end\": 697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 697,\n      \"end\": 698,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch_pool\",\n      \"start\": 698,\n      \"end\": 709,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 709,\n      \"end\": 710,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 710,\n      \"end\": 716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 716,\n      \"end\": 717,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 718,\n      \"end\": 719,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 723,\n      \"end\": 729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch_pool\",\n      \"start\": 730,\n      \"end\": 741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 741,\n      \"end\": 742,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"pop\",\n      \"start\": 742,\n      \"end\": 745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 745,\n      \"end\": 746,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 746,\n      \"end\": 747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 747,\n      \"end\": 748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 751,\n      \"end\": 752,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 756,\n      \"end\": 762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 763,\n      \"end\": 766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"BVHBranch\",\n      \"start\": 767,\n      \"end\": 776,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 776,\n      \"end\": 777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 777,\n      \"end\": 778,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 778,\n      \"end\": 779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 781,\n      \"end\": 782,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Releases a branch back into the branch pool\\n\\t * @param {BVHBranch} branch The branch to release\\n\\t \",\n      \"start\": 785,\n      \"end\": 893,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"static\",\n      \"start\": 895,\n      \"end\": 901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"releaseBranch\",\n      \"start\": 902,\n      \"end\": 915,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 915,\n      \"end\": 916,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 916,\n      \"end\": 922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 922,\n      \"end\": 923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 924,\n      \"end\": 925,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch_pool\",\n      \"start\": 928,\n      \"end\": 939,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 939,\n      \"end\": 940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"push\",\n      \"start\": 940,\n      \"end\": 944,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 944,\n      \"end\": 945,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"branch\",\n      \"start\": 945,\n      \"end\": 951,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 951,\n      \"end\": 952,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 952,\n      \"end\": 953,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 955,\n      \"end\": 956,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Sorting callback used to sort branches by deepest first\\n\\t * @param {BVHBranch} a The first branch\\n\\t * @param {BVHBranch} b The second branch\\n\\t * @returns {Number}\\n\\t \",\n      \"start\": 959,\n      \"end\": 1134,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"static\",\n      \"start\": 1136,\n      \"end\": 1142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sortBranches\",\n      \"start\": 1143,\n      \"end\": 1155,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1155,\n      \"end\": 1156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1156,\n      \"end\": 1157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1157,\n      \"end\": 1158,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1159,\n      \"end\": 1160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1160,\n      \"end\": 1161,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1162,\n      \"end\": 1163,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 1166,\n      \"end\": 1172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1173,\n      \"end\": 1174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1174,\n      \"end\": 1175,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sort\",\n      \"start\": 1175,\n      \"end\": 1179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 1180,\n      \"end\": 1181,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1182,\n      \"end\": 1183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1183,\n      \"end\": 1184,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sort\",\n      \"start\": 1184,\n      \"end\": 1188,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1189,\n      \"end\": 1190,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 1191,\n      \"end\": 1192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 1192,\n      \"end\": 1193,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1194,\n      \"end\": 1195,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 1196,\n      \"end\": 1197,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1197,\n      \"end\": 1198,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1200,\n      \"end\": 1201,\n      \"loc\": {\n        \"start\": {\n          \"line\": 72,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 72,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1202,\n      \"end\": 1203,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1203,\n      \"end\": 1204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1205,\n      \"end\": 1205,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/Body.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 2444,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 119,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 2444,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 119,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 0,\n        \"end\": 34,\n        \"loc\": {\n          \"start\": {\n            \"line\": 1,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 1,\n            \"column\": 34\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 7,\n            \"end\": 13,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 1,\n                \"column\": 13\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 7,\n              \"end\": 13,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 1,\n                  \"column\": 13\n                },\n                \"identifierName\": \"Result\"\n              },\n              \"name\": \"Result\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 19,\n          \"end\": 33,\n          \"loc\": {\n            \"start\": {\n              \"line\": 1,\n              \"column\": 19\n            },\n            \"end\": {\n              \"line\": 1,\n              \"column\": 33\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./Result.mjs\",\n            \"raw\": \"'./Result.mjs'\"\n          },\n          \"value\": \"./Result.mjs\"\n        }\n      },\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 35,\n        \"end\": 66,\n        \"loc\": {\n          \"start\": {\n            \"line\": 2,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 2,\n            \"column\": 31\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 42,\n            \"end\": 45,\n            \"loc\": {\n              \"start\": {\n                \"line\": 2,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 2,\n                \"column\": 10\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 42,\n              \"end\": 45,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 2,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 2,\n                  \"column\": 10\n                },\n                \"identifierName\": \"SAT\"\n              },\n              \"name\": \"SAT\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 54,\n          \"end\": 65,\n          \"loc\": {\n            \"start\": {\n              \"line\": 2,\n              \"column\": 19\n            },\n            \"end\": {\n              \"line\": 2,\n              \"column\": 30\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./SAT.mjs\",\n            \"raw\": \"'./SAT.mjs'\"\n          },\n          \"value\": \"./SAT.mjs\"\n        },\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * The base class for bodies used to detect collisions\\n * @class\\n * @protected\\n \",\n            \"start\": 68,\n            \"end\": 154,\n            \"loc\": {\n              \"start\": {\n                \"line\": 4,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 8,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 155,\n        \"end\": 2442,\n        \"loc\": {\n          \"start\": {\n            \"line\": 9,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 118,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 170,\n          \"end\": 2442,\n          \"loc\": {\n            \"start\": {\n              \"line\": 9,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 118,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 176,\n            \"end\": 180,\n            \"loc\": {\n              \"start\": {\n                \"line\": 9,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 9,\n                \"column\": 25\n              },\n              \"identifierName\": \"Body\"\n            },\n            \"name\": \"Body\",\n            \"leadingComments\": null\n          },\n          \"superClass\": null,\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 181,\n            \"end\": 2442,\n            \"loc\": {\n              \"start\": {\n                \"line\": 9,\n                \"column\": 26\n              },\n              \"end\": {\n                \"line\": 118,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 429,\n                \"end\": 1270,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 16,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 67,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 429,\n                  \"end\": 440,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 16,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 441,\n                    \"end\": 446,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 13\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 18\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 441,\n                      \"end\": 442,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 14\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 445,\n                      \"end\": 446,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 18\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 448,\n                    \"end\": 453,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 20\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 25\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 448,\n                      \"end\": 449,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 20\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 21\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 452,\n                      \"end\": 453,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 25\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 455,\n                    \"end\": 466,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 27\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 38\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 455,\n                      \"end\": 462,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 34\n                        },\n                        \"identifierName\": \"padding\"\n                      },\n                      \"name\": \"padding\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 465,\n                      \"end\": 466,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 37\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 38\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 468,\n                  \"end\": 1270,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 40\n                    },\n                    \"end\": {\n                      \"line\": 67,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 544,\n                      \"end\": 555,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 21,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 21,\n                          \"column\": 13\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 544,\n                        \"end\": 554,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 21,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 21,\n                            \"column\": 12\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 544,\n                          \"end\": 550,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 21,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 21,\n                              \"column\": 8\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 544,\n                            \"end\": 548,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 21,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 21,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 549,\n                            \"end\": 550,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 21,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 21,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"x\"\n                            },\n                            \"name\": \"x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 553,\n                          \"end\": 554,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 21,\n                              \"column\": 11\n                            },\n                            \"end\": {\n                              \"line\": 21,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"x\"\n                          },\n                          \"name\": \"x\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The X coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 472,\n                          \"end\": 541,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 20,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The Y coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 559,\n                          \"end\": 628,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 26,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 631,\n                      \"end\": 642,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 27,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 27,\n                          \"column\": 13\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 631,\n                        \"end\": 641,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 27,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 27,\n                            \"column\": 12\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 631,\n                          \"end\": 637,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 27,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 27,\n                              \"column\": 8\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 631,\n                            \"end\": 635,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 27,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 27,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 636,\n                            \"end\": 637,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 27,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 27,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 640,\n                          \"end\": 641,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 27,\n                              \"column\": 11\n                            },\n                            \"end\": {\n                              \"line\": 27,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"y\"\n                          },\n                          \"name\": \"y\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The Y coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 559,\n                          \"end\": 628,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 26,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The amount to pad the bounding volume when testing for potential collisions\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 646,\n                          \"end\": 762,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 29,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 32,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 765,\n                      \"end\": 788,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 33,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 33,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 765,\n                        \"end\": 787,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 33,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 33,\n                            \"column\": 24\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 765,\n                          \"end\": 777,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 765,\n                            \"end\": 769,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 770,\n                            \"end\": 777,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"padding\"\n                            },\n                            \"name\": \"padding\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 780,\n                          \"end\": 787,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 24\n                            },\n                            \"identifierName\": \"padding\"\n                          },\n                          \"name\": \"padding\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The amount to pad the bounding volume when testing for potential collisions\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 646,\n                          \"end\": 762,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 29,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 32,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 792,\n                          \"end\": 807,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 35,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 35,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 810,\n                      \"end\": 831,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 36,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 36,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 810,\n                        \"end\": 830,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 36,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 36,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 810,\n                          \"end\": 822,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 36,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 36,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 810,\n                            \"end\": 814,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 36,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 36,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 815,\n                            \"end\": 822,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 36,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 36,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"_circle\"\n                            },\n                            \"name\": \"_circle\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 825,\n                          \"end\": 830,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 36,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 36,\n                              \"column\": 22\n                            }\n                          },\n                          \"value\": false\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 792,\n                          \"end\": 807,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 35,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 35,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 835,\n                          \"end\": 850,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 38,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 38,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 853,\n                      \"end\": 875,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 39,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 39,\n                          \"column\": 24\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 853,\n                        \"end\": 874,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 39,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 39,\n                            \"column\": 23\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 853,\n                          \"end\": 866,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 39,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 39,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 853,\n                            \"end\": 857,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 39,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 39,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 858,\n                            \"end\": 866,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 39,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 39,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_polygon\"\n                            },\n                            \"name\": \"_polygon\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 869,\n                          \"end\": 874,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 39,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 39,\n                              \"column\": 23\n                            }\n                          },\n                          \"value\": false\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 835,\n                          \"end\": 850,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 38,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 38,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 879,\n                          \"end\": 894,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 897,\n                      \"end\": 917,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 42,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 42,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 897,\n                        \"end\": 916,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 42,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 42,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 897,\n                          \"end\": 908,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 42,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 42,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 897,\n                            \"end\": 901,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 902,\n                            \"end\": 908,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_point\"\n                            },\n                            \"name\": \"_point\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 911,\n                          \"end\": 916,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 42,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 42,\n                              \"column\": 21\n                            }\n                          },\n                          \"value\": false\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 879,\n                          \"end\": 894,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 921,\n                          \"end\": 936,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 44,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 44,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 939,\n                      \"end\": 956,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 45,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 45,\n                          \"column\": 19\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 939,\n                        \"end\": 955,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 45,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 45,\n                            \"column\": 18\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 939,\n                          \"end\": 948,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 45,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 45,\n                              \"column\": 11\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 939,\n                            \"end\": 943,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 45,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 45,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 944,\n                            \"end\": 948,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 45,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 45,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"_bvh\"\n                            },\n                            \"name\": \"_bvh\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 951,\n                          \"end\": 955,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 45,\n                              \"column\": 14\n                            },\n                            \"end\": {\n                              \"line\": 45,\n                              \"column\": 18\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 921,\n                          \"end\": 936,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 44,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 44,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 960,\n                          \"end\": 975,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 47,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 47,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 978,\n                      \"end\": 1002,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 48,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 48,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 978,\n                        \"end\": 1001,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 48,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 48,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 978,\n                          \"end\": 994,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 48,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 48,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 978,\n                            \"end\": 982,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 48,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 48,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 983,\n                            \"end\": 994,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 48,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 48,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"_bvh_parent\"\n                            },\n                            \"name\": \"_bvh_parent\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 997,\n                          \"end\": 1001,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 48,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 48,\n                              \"column\": 25\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 960,\n                          \"end\": 975,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 47,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 47,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1006,\n                          \"end\": 1021,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 50,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 50,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1024,\n                      \"end\": 1049,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 51,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 51,\n                          \"column\": 27\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1024,\n                        \"end\": 1048,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 51,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 51,\n                            \"column\": 26\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1024,\n                          \"end\": 1040,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 51,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 51,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1024,\n                            \"end\": 1028,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 51,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 51,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1029,\n                            \"end\": 1040,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 51,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 51,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"_bvh_branch\"\n                            },\n                            \"name\": \"_bvh_branch\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 1043,\n                          \"end\": 1048,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 51,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 51,\n                              \"column\": 26\n                            }\n                          },\n                          \"value\": false\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1006,\n                          \"end\": 1021,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 50,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 50,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1053,\n                          \"end\": 1068,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 53,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 53,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1071,\n                      \"end\": 1099,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 54,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 54,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1071,\n                        \"end\": 1098,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 54,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 54,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1071,\n                          \"end\": 1088,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 54,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 54,\n                              \"column\": 19\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1071,\n                            \"end\": 1075,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 54,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 54,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1076,\n                            \"end\": 1088,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 54,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 54,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"_bvh_padding\"\n                            },\n                            \"name\": \"_bvh_padding\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1091,\n                          \"end\": 1098,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 54,\n                              \"column\": 22\n                            },\n                            \"end\": {\n                              \"line\": 54,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"padding\"\n                          },\n                          \"name\": \"padding\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1053,\n                          \"end\": 1068,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 53,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 53,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1103,\n                          \"end\": 1118,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 56,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 56,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1121,\n                      \"end\": 1141,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 57,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 57,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1121,\n                        \"end\": 1140,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 57,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 57,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1121,\n                          \"end\": 1136,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 57,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 57,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1121,\n                            \"end\": 1125,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 57,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 57,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1126,\n                            \"end\": 1136,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 57,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 57,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_min_x\"\n                            },\n                            \"name\": \"_bvh_min_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1139,\n                          \"end\": 1140,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 57,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 57,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1103,\n                          \"end\": 1118,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 56,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 56,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1145,\n                          \"end\": 1160,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 59,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 59,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1163,\n                      \"end\": 1183,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 60,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 60,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1163,\n                        \"end\": 1182,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 60,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 60,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1163,\n                          \"end\": 1178,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 60,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 60,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1163,\n                            \"end\": 1167,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 60,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 60,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1168,\n                            \"end\": 1178,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 60,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 60,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_min_y\"\n                            },\n                            \"name\": \"_bvh_min_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1181,\n                          \"end\": 1182,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 60,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 60,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1145,\n                          \"end\": 1160,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 59,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 59,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1187,\n                          \"end\": 1202,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 62,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 62,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1205,\n                      \"end\": 1225,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 63,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 63,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1205,\n                        \"end\": 1224,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 63,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 63,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1205,\n                          \"end\": 1220,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 63,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 63,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1205,\n                            \"end\": 1209,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 63,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 63,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1210,\n                            \"end\": 1220,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 63,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 63,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_max_x\"\n                            },\n                            \"name\": \"_bvh_max_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1223,\n                          \"end\": 1224,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 63,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 63,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1187,\n                          \"end\": 1202,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 62,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 62,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1229,\n                          \"end\": 1244,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1247,\n                      \"end\": 1267,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 66,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 66,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1247,\n                        \"end\": 1266,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 66,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 66,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1247,\n                          \"end\": 1262,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 66,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 66,\n                              \"column\": 17\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1247,\n                            \"end\": 1251,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 66,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 66,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1252,\n                            \"end\": 1262,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 66,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 66,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"_bvh_max_y\"\n                            },\n                            \"name\": \"_bvh_max_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1265,\n                          \"end\": 1266,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 66,\n                              \"column\": 20\n                            },\n                            \"end\": {\n                              \"line\": 66,\n                              \"column\": 21\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1229,\n                          \"end\": 1244,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n                    \"start\": 184,\n                    \"end\": 427,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 10,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 15,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Determines if the body is colliding with another body\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n                    \"start\": 1273,\n                    \"end\": 1666,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 69,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 75,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 1668,\n                \"end\": 1759,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 76,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 78,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 1668,\n                  \"end\": 1676,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 76,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 76,\n                      \"column\": 9\n                    },\n                    \"identifierName\": \"collides\"\n                  },\n                  \"name\": \"collides\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 1677,\n                    \"end\": 1683,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 76,\n                        \"column\": 10\n                      },\n                      \"end\": {\n                        \"line\": 76,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"target\"\n                    },\n                    \"name\": \"target\"\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1685,\n                    \"end\": 1698,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 76,\n                        \"column\": 18\n                      },\n                      \"end\": {\n                        \"line\": 76,\n                        \"column\": 31\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1685,\n                      \"end\": 1691,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 76,\n                          \"column\": 18\n                        },\n                        \"end\": {\n                          \"line\": 76,\n                          \"column\": 24\n                        },\n                        \"identifierName\": \"result\"\n                      },\n                      \"name\": \"result\"\n                    },\n                    \"right\": {\n                      \"type\": \"NullLiteral\",\n                      \"start\": 1694,\n                      \"end\": 1698,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 76,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 76,\n                          \"column\": 31\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 1700,\n                    \"end\": 1711,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 76,\n                        \"column\": 33\n                      },\n                      \"end\": {\n                        \"line\": 76,\n                        \"column\": 44\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1700,\n                      \"end\": 1704,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 76,\n                          \"column\": 33\n                        },\n                        \"end\": {\n                          \"line\": 76,\n                          \"column\": 37\n                        },\n                        \"identifierName\": \"aabb\"\n                      },\n                      \"name\": \"aabb\"\n                    },\n                    \"right\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 1707,\n                      \"end\": 1711,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 76,\n                          \"column\": 40\n                        },\n                        \"end\": {\n                          \"line\": 76,\n                          \"column\": 44\n                        }\n                      },\n                      \"value\": true\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 1713,\n                  \"end\": 1759,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 76,\n                      \"column\": 46\n                    },\n                    \"end\": {\n                      \"line\": 78,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 1717,\n                      \"end\": 1756,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 77,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 77,\n                          \"column\": 41\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 1724,\n                        \"end\": 1755,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 77,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 77,\n                            \"column\": 40\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1724,\n                          \"end\": 1727,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 77,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 77,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"SAT\"\n                          },\n                          \"name\": \"SAT\"\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1728,\n                            \"end\": 1732,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 77,\n                                \"column\": 13\n                              },\n                              \"end\": {\n                                \"line\": 77,\n                                \"column\": 17\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1734,\n                            \"end\": 1740,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 77,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 77,\n                                \"column\": 25\n                              },\n                              \"identifierName\": \"target\"\n                            },\n                            \"name\": \"target\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1742,\n                            \"end\": 1748,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 77,\n                                \"column\": 27\n                              },\n                              \"end\": {\n                                \"line\": 77,\n                                \"column\": 33\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1750,\n                            \"end\": 1754,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 77,\n                                \"column\": 35\n                              },\n                              \"end\": {\n                                \"line\": 77,\n                                \"column\": 39\n                              },\n                              \"identifierName\": \"aabb\"\n                            },\n                            \"name\": \"aabb\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Determines if the body is colliding with another body\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n                    \"start\": 1273,\n                    \"end\": 1666,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 69,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 75,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a list of potential collisions\\n\\t * @returns {Array<Body>}\\n\\t \",\n                    \"start\": 1762,\n                    \"end\": 1840,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 80,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 83,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 1842,\n                \"end\": 2008,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 84,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 92,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 1842,\n                  \"end\": 1852,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 84,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 84,\n                      \"column\": 11\n                    },\n                    \"identifierName\": \"potentials\"\n                  },\n                  \"name\": \"potentials\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 1855,\n                  \"end\": 2008,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 84,\n                      \"column\": 14\n                    },\n                    \"end\": {\n                      \"line\": 92,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 1859,\n                      \"end\": 1881,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 85,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 85,\n                          \"column\": 24\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 1865,\n                          \"end\": 1880,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 85,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 85,\n                              \"column\": 23\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1865,\n                            \"end\": 1868,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 85,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 85,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"bvh\"\n                            },\n                            \"name\": \"bvh\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1871,\n                            \"end\": 1880,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 85,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 85,\n                                \"column\": 23\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 1871,\n                              \"end\": 1875,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 85,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 85,\n                                  \"column\": 18\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1876,\n                              \"end\": 1880,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 85,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 85,\n                                  \"column\": 23\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 1885,\n                      \"end\": 1973,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 87,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 89,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 1888,\n                        \"end\": 1900,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 87,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 87,\n                            \"column\": 17\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1888,\n                          \"end\": 1891,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 87,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 87,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"bvh\"\n                          },\n                          \"name\": \"bvh\"\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 1896,\n                          \"end\": 1900,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 87,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 87,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 1902,\n                        \"end\": 1973,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 87,\n                            \"column\": 19\n                          },\n                          \"end\": {\n                            \"line\": 89,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ThrowStatement\",\n                            \"start\": 1907,\n                            \"end\": 1969,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 88,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 88,\n                                \"column\": 65\n                              }\n                            },\n                            \"argument\": {\n                              \"type\": \"NewExpression\",\n                              \"start\": 1913,\n                              \"end\": 1968,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 88,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 88,\n                                  \"column\": 64\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1917,\n                                \"end\": 1922,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 88,\n                                    \"column\": 13\n                                  },\n                                  \"end\": {\n                                    \"line\": 88,\n                                    \"column\": 18\n                                  },\n                                  \"identifierName\": \"Error\"\n                                },\n                                \"name\": \"Error\"\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"StringLiteral\",\n                                  \"start\": 1923,\n                                  \"end\": 1967,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 88,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 88,\n                                      \"column\": 63\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": \"Body does not belong to a collision system\",\n                                    \"raw\": \"'Body does not belong to a collision system'\"\n                                  },\n                                  \"value\": \"Body does not belong to a collision system\"\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 1977,\n                      \"end\": 2005,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 91,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 91,\n                          \"column\": 30\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 1984,\n                        \"end\": 2004,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 91,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 91,\n                            \"column\": 29\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1984,\n                          \"end\": 1998,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 91,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 91,\n                              \"column\": 23\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1984,\n                            \"end\": 1987,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 91,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 91,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"bvh\"\n                            },\n                            \"name\": \"bvh\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1988,\n                            \"end\": 1998,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 91,\n                                \"column\": 13\n                              },\n                              \"end\": {\n                                \"line\": 91,\n                                \"column\": 23\n                              },\n                              \"identifierName\": \"potentials\"\n                            },\n                            \"name\": \"potentials\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1999,\n                            \"end\": 2003,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 91,\n                                \"column\": 24\n                              },\n                              \"end\": {\n                                \"line\": 91,\n                                \"column\": 28\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Returns a list of potential collisions\\n\\t * @returns {Array<Body>}\\n\\t \",\n                    \"start\": 1762,\n                    \"end\": 1840,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 80,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 83,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Removes the body from its current collision system\\n\\t \",\n                    \"start\": 2011,\n                    \"end\": 2074,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 94,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 96,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2076,\n                \"end\": 2159,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 97,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 103,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2076,\n                  \"end\": 2082,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 97,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 97,\n                      \"column\": 7\n                    },\n                    \"identifierName\": \"remove\"\n                  },\n                  \"name\": \"remove\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2085,\n                  \"end\": 2159,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 97,\n                      \"column\": 10\n                    },\n                    \"end\": {\n                      \"line\": 103,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 2089,\n                      \"end\": 2111,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 98,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 98,\n                          \"column\": 24\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 2095,\n                          \"end\": 2110,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 98,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 98,\n                              \"column\": 23\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2095,\n                            \"end\": 2098,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 98,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 98,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"bvh\"\n                            },\n                            \"name\": \"bvh\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 2101,\n                            \"end\": 2110,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 98,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 98,\n                                \"column\": 23\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 2101,\n                              \"end\": 2105,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 98,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 98,\n                                  \"column\": 18\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2106,\n                              \"end\": 2110,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 98,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 98,\n                                  \"column\": 23\n                                },\n                                \"identifierName\": \"_bvh\"\n                              },\n                              \"name\": \"_bvh\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 2115,\n                      \"end\": 2156,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 100,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 102,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2118,\n                        \"end\": 2121,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 100,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 100,\n                            \"column\": 8\n                          },\n                          \"identifierName\": \"bvh\"\n                        },\n                        \"name\": \"bvh\"\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 2123,\n                        \"end\": 2156,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 100,\n                            \"column\": 10\n                          },\n                          \"end\": {\n                            \"line\": 102,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 2128,\n                            \"end\": 2152,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 101,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 101,\n                                \"column\": 27\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 2128,\n                              \"end\": 2151,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 101,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 101,\n                                  \"column\": 26\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2128,\n                                \"end\": 2138,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 101,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 101,\n                                    \"column\": 13\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2128,\n                                  \"end\": 2131,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 101,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 101,\n                                      \"column\": 6\n                                    },\n                                    \"identifierName\": \"bvh\"\n                                  },\n                                  \"name\": \"bvh\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2132,\n                                  \"end\": 2138,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 101,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 101,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"remove\"\n                                  },\n                                  \"name\": \"remove\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 2139,\n                                  \"end\": 2143,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 101,\n                                      \"column\": 14\n                                    },\n                                    \"end\": {\n                                      \"line\": 101,\n                                      \"column\": 18\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"BooleanLiteral\",\n                                  \"start\": 2145,\n                                  \"end\": 2150,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 101,\n                                      \"column\": 20\n                                    },\n                                    \"end\": {\n                                      \"line\": 101,\n                                      \"column\": 25\n                                    }\n                                  },\n                                  \"value\": false\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Removes the body from its current collision system\\n\\t \",\n                    \"start\": 2011,\n                    \"end\": 2074,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 94,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 96,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2162,\n                    \"end\": 2256,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 105,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 107,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2258,\n                \"end\": 2300,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 108,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 110,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2258,\n                  \"end\": 2270,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 108,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 108,\n                      \"column\": 13\n                    },\n                    \"identifierName\": \"createResult\"\n                  },\n                  \"name\": \"createResult\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2273,\n                  \"end\": 2300,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 108,\n                      \"column\": 16\n                    },\n                    \"end\": {\n                      \"line\": 110,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 2277,\n                      \"end\": 2297,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 109,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 109,\n                          \"column\": 22\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"NewExpression\",\n                        \"start\": 2284,\n                        \"end\": 2296,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 109,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 109,\n                            \"column\": 21\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2288,\n                          \"end\": 2294,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 109,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 109,\n                              \"column\": 19\n                            },\n                            \"identifierName\": \"Result\"\n                          },\n                          \"name\": \"Result\"\n                        },\n                        \"arguments\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2162,\n                    \"end\": 2256,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 105,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 107,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2303,\n                    \"end\": 2389,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 112,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 114,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2391,\n                \"end\": 2440,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 115,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 117,\n                    \"column\": 2\n                  }\n                },\n                \"static\": true,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2398,\n                  \"end\": 2410,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 115,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 115,\n                      \"column\": 20\n                    },\n                    \"identifierName\": \"createResult\"\n                  },\n                  \"name\": \"createResult\"\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2413,\n                  \"end\": 2440,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 115,\n                      \"column\": 23\n                    },\n                    \"end\": {\n                      \"line\": 117,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ReturnStatement\",\n                      \"start\": 2417,\n                      \"end\": 2437,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 116,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 116,\n                          \"column\": 22\n                        }\n                      },\n                      \"argument\": {\n                        \"type\": \"NewExpression\",\n                        \"start\": 2424,\n                        \"end\": 2436,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 116,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 116,\n                            \"column\": 21\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2428,\n                          \"end\": 2434,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 116,\n                              \"column\": 13\n                            },\n                            \"end\": {\n                              \"line\": 116,\n                              \"column\": 19\n                            },\n                            \"identifierName\": \"Result\"\n                          },\n                          \"name\": \"Result\"\n                        },\n                        \"arguments\": []\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n                    \"start\": 2303,\n                    \"end\": 2389,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 112,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 114,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * The base class for bodies used to detect collisions\\n * @class\\n * @protected\\n \",\n              \"start\": 68,\n              \"end\": 154,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 4,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 8,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * The base class for bodies used to detect collisions\\n * @class\\n * @protected\\n \",\n            \"start\": 68,\n            \"end\": 154,\n            \"loc\": {\n              \"start\": {\n                \"line\": 4,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 8,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 2442,\n        \"end\": 2443,\n        \"loc\": {\n          \"start\": {\n            \"line\": 118,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 118,\n            \"column\": 2\n          }\n        }\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * The base class for bodies used to detect collisions\\n * @class\\n * @protected\\n \",\n      \"start\": 68,\n      \"end\": 154,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 8,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 184,\n      \"end\": 427,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The X coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 472,\n      \"end\": 541,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The Y coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 559,\n      \"end\": 628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The amount to pad the bounding volume when testing for potential collisions\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 646,\n      \"end\": 762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 792,\n      \"end\": 807,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 835,\n      \"end\": 850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 879,\n      \"end\": 894,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 921,\n      \"end\": 936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 960,\n      \"end\": 975,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1006,\n      \"end\": 1021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1053,\n      \"end\": 1068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1103,\n      \"end\": 1118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1145,\n      \"end\": 1160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1187,\n      \"end\": 1202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1229,\n      \"end\": 1244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Determines if the body is colliding with another body\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n      \"start\": 1273,\n      \"end\": 1666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a list of potential collisions\\n\\t * @returns {Array<Body>}\\n\\t \",\n      \"start\": 1762,\n      \"end\": 1840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Removes the body from its current collision system\\n\\t \",\n      \"start\": 2011,\n      \"end\": 2074,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2162,\n      \"end\": 2256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2303,\n      \"end\": 2389,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 4\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 0,\n      \"end\": 6,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 7,\n      \"end\": 13,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 14,\n      \"end\": 18,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./Result.mjs\",\n      \"start\": 19,\n      \"end\": 33,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 33,\n      \"end\": 34,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 35,\n      \"end\": 41,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"SAT\",\n      \"start\": 42,\n      \"end\": 45,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 49,\n      \"end\": 53,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./SAT.mjs\",\n      \"start\": 54,\n      \"end\": 65,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 65,\n      \"end\": 66,\n      \"loc\": {\n        \"start\": {\n          \"line\": 2,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 2,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * The base class for bodies used to detect collisions\\n * @class\\n * @protected\\n \",\n      \"start\": 68,\n      \"end\": 154,\n      \"loc\": {\n        \"start\": {\n          \"line\": 4,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 8,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 155,\n      \"end\": 161,\n      \"loc\": {\n        \"start\": {\n          \"line\": 9,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 9,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 162,\n      \"end\": 169,\n      \"loc\": {\n        \"start\": {\n          \"line\": 9,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 9,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 170,\n      \"end\": 175,\n      \"loc\": {\n        \"start\": {\n          \"line\": 9,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 9,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Body\",\n      \"start\": 176,\n      \"end\": 180,\n      \"loc\": {\n        \"start\": {\n          \"line\": 9,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 9,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 181,\n      \"end\": 182,\n      \"loc\": {\n        \"start\": {\n          \"line\": 9,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 9,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 184,\n      \"end\": 427,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 429,\n      \"end\": 440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 440,\n      \"end\": 441,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 441,\n      \"end\": 442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 443,\n      \"end\": 444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 445,\n      \"end\": 446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 446,\n      \"end\": 447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 448,\n      \"end\": 449,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 450,\n      \"end\": 451,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 452,\n      \"end\": 453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 453,\n      \"end\": 454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 455,\n      \"end\": 462,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 463,\n      \"end\": 464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 465,\n      \"end\": 466,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 466,\n      \"end\": 467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 468,\n      \"end\": 469,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The X coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 472,\n      \"end\": 541,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 544,\n      \"end\": 548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 548,\n      \"end\": 549,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 549,\n      \"end\": 550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 551,\n      \"end\": 552,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 553,\n      \"end\": 554,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 554,\n      \"end\": 555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The Y coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 559,\n      \"end\": 628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 631,\n      \"end\": 635,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 635,\n      \"end\": 636,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 636,\n      \"end\": 637,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 638,\n      \"end\": 639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 640,\n      \"end\": 641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 641,\n      \"end\": 642,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The amount to pad the bounding volume when testing for potential collisions\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 646,\n      \"end\": 762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 765,\n      \"end\": 769,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 769,\n      \"end\": 770,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 770,\n      \"end\": 777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 778,\n      \"end\": 779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 780,\n      \"end\": 787,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 787,\n      \"end\": 788,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 792,\n      \"end\": 807,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 810,\n      \"end\": 814,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 814,\n      \"end\": 815,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_circle\",\n      \"start\": 815,\n      \"end\": 822,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 823,\n      \"end\": 824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 825,\n      \"end\": 830,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 830,\n      \"end\": 831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 835,\n      \"end\": 850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 853,\n      \"end\": 857,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 857,\n      \"end\": 858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 858,\n      \"end\": 866,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 867,\n      \"end\": 868,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 869,\n      \"end\": 874,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 874,\n      \"end\": 875,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 879,\n      \"end\": 894,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 897,\n      \"end\": 901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 901,\n      \"end\": 902,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_point\",\n      \"start\": 902,\n      \"end\": 908,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 909,\n      \"end\": 910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 911,\n      \"end\": 916,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 916,\n      \"end\": 917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 921,\n      \"end\": 936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 939,\n      \"end\": 943,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 943,\n      \"end\": 944,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 944,\n      \"end\": 948,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 949,\n      \"end\": 950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 951,\n      \"end\": 955,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 955,\n      \"end\": 956,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 960,\n      \"end\": 975,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 978,\n      \"end\": 982,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 982,\n      \"end\": 983,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_parent\",\n      \"start\": 983,\n      \"end\": 994,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 995,\n      \"end\": 996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 997,\n      \"end\": 1001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1001,\n      \"end\": 1002,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1006,\n      \"end\": 1021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1024,\n      \"end\": 1028,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1028,\n      \"end\": 1029,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_branch\",\n      \"start\": 1029,\n      \"end\": 1040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1041,\n      \"end\": 1042,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 1043,\n      \"end\": 1048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1048,\n      \"end\": 1049,\n      \"loc\": {\n        \"start\": {\n          \"line\": 51,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1053,\n      \"end\": 1068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1071,\n      \"end\": 1075,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1075,\n      \"end\": 1076,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_padding\",\n      \"start\": 1076,\n      \"end\": 1088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1089,\n      \"end\": 1090,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 1091,\n      \"end\": 1098,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1098,\n      \"end\": 1099,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1103,\n      \"end\": 1118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1121,\n      \"end\": 1125,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1125,\n      \"end\": 1126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_x\",\n      \"start\": 1126,\n      \"end\": 1136,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1137,\n      \"end\": 1138,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1139,\n      \"end\": 1140,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1140,\n      \"end\": 1141,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1145,\n      \"end\": 1160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1163,\n      \"end\": 1167,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1167,\n      \"end\": 1168,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_min_y\",\n      \"start\": 1168,\n      \"end\": 1178,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1179,\n      \"end\": 1180,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1181,\n      \"end\": 1182,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1182,\n      \"end\": 1183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1187,\n      \"end\": 1202,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1205,\n      \"end\": 1209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1209,\n      \"end\": 1210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_x\",\n      \"start\": 1210,\n      \"end\": 1220,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1221,\n      \"end\": 1222,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1223,\n      \"end\": 1224,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1224,\n      \"end\": 1225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1229,\n      \"end\": 1244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1247,\n      \"end\": 1251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1251,\n      \"end\": 1252,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh_max_y\",\n      \"start\": 1252,\n      \"end\": 1262,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1263,\n      \"end\": 1264,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1265,\n      \"end\": 1266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1266,\n      \"end\": 1267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1269,\n      \"end\": 1270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Determines if the body is colliding with another body\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t \",\n      \"start\": 1273,\n      \"end\": 1666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 75,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collides\",\n      \"start\": 1668,\n      \"end\": 1676,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1676,\n      \"end\": 1677,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target\",\n      \"start\": 1677,\n      \"end\": 1683,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1683,\n      \"end\": 1684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1685,\n      \"end\": 1691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1692,\n      \"end\": 1693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 1694,\n      \"end\": 1698,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1698,\n      \"end\": 1699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabb\",\n      \"start\": 1700,\n      \"end\": 1704,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1705,\n      \"end\": 1706,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 1707,\n      \"end\": 1711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1711,\n      \"end\": 1712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1713,\n      \"end\": 1714,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 1717,\n      \"end\": 1723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"SAT\",\n      \"start\": 1724,\n      \"end\": 1727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1727,\n      \"end\": 1728,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1728,\n      \"end\": 1732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1732,\n      \"end\": 1733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target\",\n      \"start\": 1734,\n      \"end\": 1740,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1740,\n      \"end\": 1741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1742,\n      \"end\": 1748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1748,\n      \"end\": 1749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabb\",\n      \"start\": 1750,\n      \"end\": 1754,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1754,\n      \"end\": 1755,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1755,\n      \"end\": 1756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1758,\n      \"end\": 1759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 78,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 78,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Returns a list of potential collisions\\n\\t * @returns {Array<Body>}\\n\\t \",\n      \"start\": 1762,\n      \"end\": 1840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"potentials\",\n      \"start\": 1842,\n      \"end\": 1852,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1852,\n      \"end\": 1853,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1853,\n      \"end\": 1854,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1855,\n      \"end\": 1856,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1859,\n      \"end\": 1864,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 1865,\n      \"end\": 1868,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1869,\n      \"end\": 1870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1871,\n      \"end\": 1875,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1875,\n      \"end\": 1876,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 1876,\n      \"end\": 1880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1880,\n      \"end\": 1881,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1885,\n      \"end\": 1887,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1887,\n      \"end\": 1888,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 1888,\n      \"end\": 1891,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 1892,\n      \"end\": 1895,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 1896,\n      \"end\": 1900,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1900,\n      \"end\": 1901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1902,\n      \"end\": 1903,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"throw\",\n        \"keyword\": \"throw\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"throw\",\n      \"start\": 1907,\n      \"end\": 1912,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 1913,\n      \"end\": 1916,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Error\",\n      \"start\": 1917,\n      \"end\": 1922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1922,\n      \"end\": 1923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"Body does not belong to a collision system\",\n      \"start\": 1923,\n      \"end\": 1967,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1967,\n      \"end\": 1968,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1968,\n      \"end\": 1969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1972,\n      \"end\": 1973,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 1977,\n      \"end\": 1983,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 1984,\n      \"end\": 1987,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1987,\n      \"end\": 1988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"potentials\",\n      \"start\": 1988,\n      \"end\": 1998,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1998,\n      \"end\": 1999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1999,\n      \"end\": 2003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2003,\n      \"end\": 2004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2004,\n      \"end\": 2005,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2007,\n      \"end\": 2008,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Removes the body from its current collision system\\n\\t \",\n      \"start\": 2011,\n      \"end\": 2074,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"remove\",\n      \"start\": 2076,\n      \"end\": 2082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2082,\n      \"end\": 2083,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2083,\n      \"end\": 2084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2085,\n      \"end\": 2086,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2089,\n      \"end\": 2094,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 2095,\n      \"end\": 2098,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2099,\n      \"end\": 2100,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2101,\n      \"end\": 2105,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2105,\n      \"end\": 2106,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_bvh\",\n      \"start\": 2106,\n      \"end\": 2110,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2110,\n      \"end\": 2111,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 2115,\n      \"end\": 2117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2117,\n      \"end\": 2118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 2118,\n      \"end\": 2121,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2121,\n      \"end\": 2122,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2123,\n      \"end\": 2124,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"bvh\",\n      \"start\": 2128,\n      \"end\": 2131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2131,\n      \"end\": 2132,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"remove\",\n      \"start\": 2132,\n      \"end\": 2138,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2138,\n      \"end\": 2139,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2139,\n      \"end\": 2143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2143,\n      \"end\": 2144,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 2145,\n      \"end\": 2150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2150,\n      \"end\": 2151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2151,\n      \"end\": 2152,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2155,\n      \"end\": 2156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2158,\n      \"end\": 2159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2162,\n      \"end\": 2256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"createResult\",\n      \"start\": 2258,\n      \"end\": 2270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2270,\n      \"end\": 2271,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2271,\n      \"end\": 2272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2273,\n      \"end\": 2274,\n      \"loc\": {\n        \"start\": {\n          \"line\": 108,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 108,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 2277,\n      \"end\": 2283,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 2284,\n      \"end\": 2287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 2288,\n      \"end\": 2294,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2294,\n      \"end\": 2295,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2295,\n      \"end\": 2296,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2296,\n      \"end\": 2297,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2299,\n      \"end\": 2300,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t \",\n      \"start\": 2303,\n      \"end\": 2389,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"static\",\n      \"start\": 2391,\n      \"end\": 2397,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"createResult\",\n      \"start\": 2398,\n      \"end\": 2410,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2410,\n      \"end\": 2411,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2411,\n      \"end\": 2412,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2413,\n      \"end\": 2414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 2417,\n      \"end\": 2423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 2424,\n      \"end\": 2427,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 2428,\n      \"end\": 2434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2434,\n      \"end\": 2435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2435,\n      \"end\": 2436,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2436,\n      \"end\": 2437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2439,\n      \"end\": 2440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2441,\n      \"end\": 2442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2442,\n      \"end\": 2443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2444,\n      \"end\": 2444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/Circle.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 1036,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 45,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 1036,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 45,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 0,\n        \"end\": 30,\n        \"loc\": {\n          \"start\": {\n            \"line\": 1,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 1,\n            \"column\": 30\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 7,\n            \"end\": 11,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 1,\n                \"column\": 11\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 7,\n              \"end\": 11,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 1,\n                  \"column\": 11\n                },\n                \"identifierName\": \"Body\"\n              },\n              \"name\": \"Body\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 17,\n          \"end\": 29,\n          \"loc\": {\n            \"start\": {\n              \"line\": 1,\n              \"column\": 17\n            },\n            \"end\": {\n              \"line\": 1,\n              \"column\": 29\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./Body.mjs\",\n            \"raw\": \"'./Body.mjs'\"\n          },\n          \"value\": \"./Body.mjs\"\n        },\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A circle used to detect collisions\\n * @class\\n \",\n            \"start\": 32,\n            \"end\": 87,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 88,\n        \"end\": 1034,\n        \"loc\": {\n          \"start\": {\n            \"line\": 7,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 44,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 103,\n          \"end\": 1034,\n          \"loc\": {\n            \"start\": {\n              \"line\": 7,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 44,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 109,\n            \"end\": 115,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 27\n              },\n              \"identifierName\": \"Circle\"\n            },\n            \"name\": \"Circle\",\n            \"leadingComments\": null\n          },\n          \"superClass\": {\n            \"type\": \"Identifier\",\n            \"start\": 124,\n            \"end\": 128,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 36\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 40\n              },\n              \"identifierName\": \"Body\"\n            },\n            \"name\": \"Body\"\n          },\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 129,\n            \"end\": 1034,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 41\n              },\n              \"end\": {\n                \"line\": 44,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 463,\n                \"end\": 687,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 16,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 30,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 463,\n                  \"end\": 474,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 16,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 475,\n                    \"end\": 480,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 13\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 18\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 475,\n                      \"end\": 476,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 14\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 479,\n                      \"end\": 480,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 18\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 482,\n                    \"end\": 487,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 20\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 25\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 482,\n                      \"end\": 483,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 20\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 21\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 486,\n                      \"end\": 487,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 25\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 489,\n                    \"end\": 499,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 27\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 37\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 489,\n                      \"end\": 495,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 33\n                        },\n                        \"identifierName\": \"radius\"\n                      },\n                      \"name\": \"radius\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 498,\n                      \"end\": 499,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 36\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 37\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 501,\n                    \"end\": 510,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 39\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 48\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 501,\n                      \"end\": 506,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 39\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 44\n                        },\n                        \"identifierName\": \"scale\"\n                      },\n                      \"name\": \"scale\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 509,\n                      \"end\": 510,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 47\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 48\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 512,\n                    \"end\": 523,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 16,\n                        \"column\": 50\n                      },\n                      \"end\": {\n                        \"line\": 16,\n                        \"column\": 61\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 512,\n                      \"end\": 519,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 50\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 57\n                        },\n                        \"identifierName\": \"padding\"\n                      },\n                      \"name\": \"padding\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 522,\n                      \"end\": 523,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 60\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 61\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 525,\n                  \"end\": 687,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 63\n                    },\n                    \"end\": {\n                      \"line\": 30,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 529,\n                      \"end\": 550,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 17,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 17,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 529,\n                        \"end\": 549,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 17,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 17,\n                            \"column\": 22\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Super\",\n                          \"start\": 529,\n                          \"end\": 534,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 7\n                            }\n                          }\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 535,\n                            \"end\": 536,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"x\"\n                            },\n                            \"name\": \"x\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 538,\n                            \"end\": 539,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 11\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 541,\n                            \"end\": 548,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 21\n                              },\n                              \"identifierName\": \"padding\"\n                            },\n                            \"name\": \"padding\"\n                          }\n                        ]\n                      },\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 554,\n                          \"end\": 594,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 597,\n                      \"end\": 618,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 23,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 23,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 597,\n                        \"end\": 617,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 23,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 23,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 597,\n                          \"end\": 608,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 23,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 597,\n                            \"end\": 601,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 23,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 23,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 602,\n                            \"end\": 608,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 23,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 23,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"radius\"\n                            },\n                            \"name\": \"radius\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 611,\n                          \"end\": 617,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 23,\n                              \"column\": 22\n                            },\n                            \"identifierName\": \"radius\"\n                          },\n                          \"name\": \"radius\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 554,\n                          \"end\": 594,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 622,\n                          \"end\": 662,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 25,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 28,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 665,\n                      \"end\": 684,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 29,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 29,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 665,\n                        \"end\": 683,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 29,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 29,\n                            \"column\": 20\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 665,\n                          \"end\": 675,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 29,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 29,\n                              \"column\": 12\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 665,\n                            \"end\": 669,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 29,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 29,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 670,\n                            \"end\": 675,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 29,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 29,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"scale\"\n                            },\n                            \"name\": \"scale\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 678,\n                          \"end\": 683,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 29,\n                              \"column\": 15\n                            },\n                            \"end\": {\n                              \"line\": 29,\n                              \"column\": 20\n                            },\n                            \"identifierName\": \"scale\"\n                          },\n                          \"name\": \"scale\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 622,\n                          \"end\": 662,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 25,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 28,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n                    \"start\": 132,\n                    \"end\": 461,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 8,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 15,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the circle to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the arc to\\n\\t \",\n                    \"start\": 690,\n                    \"end\": 840,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 32,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 35,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 842,\n                \"end\": 1032,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 36,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 43,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 842,\n                  \"end\": 846,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 36,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 36,\n                      \"column\": 5\n                    },\n                    \"identifierName\": \"draw\"\n                  },\n                  \"name\": \"draw\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 847,\n                    \"end\": 854,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 36,\n                        \"column\": 6\n                      },\n                      \"end\": {\n                        \"line\": 36,\n                        \"column\": 13\n                      },\n                      \"identifierName\": \"context\"\n                    },\n                    \"name\": \"context\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 856,\n                  \"end\": 1032,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 36,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 43,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 860,\n                      \"end\": 882,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 37,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 37,\n                          \"column\": 24\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 866,\n                          \"end\": 881,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 37,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 37,\n                              \"column\": 23\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 866,\n                            \"end\": 867,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 37,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 37,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"x\"\n                            },\n                            \"name\": \"x\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 875,\n                            \"end\": 881,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 37,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 37,\n                                \"column\": 23\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 875,\n                              \"end\": 879,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 37,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 37,\n                                  \"column\": 21\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 880,\n                              \"end\": 881,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 37,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 37,\n                                  \"column\": 23\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 885,\n                      \"end\": 907,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 38,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 38,\n                          \"column\": 24\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 891,\n                          \"end\": 906,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 38,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 38,\n                              \"column\": 23\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 891,\n                            \"end\": 892,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 38,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 38,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 900,\n                            \"end\": 906,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 38,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 38,\n                                \"column\": 23\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 900,\n                              \"end\": 904,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 38,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 38,\n                                  \"column\": 21\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 905,\n                              \"end\": 906,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 38,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 38,\n                                  \"column\": 23\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 910,\n                      \"end\": 950,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 39,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 39,\n                          \"column\": 42\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 916,\n                          \"end\": 949,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 39,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 39,\n                              \"column\": 41\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 916,\n                            \"end\": 922,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 39,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 39,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"radius\"\n                            },\n                            \"name\": \"radius\"\n                          },\n                          \"init\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 925,\n                            \"end\": 949,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 39,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 39,\n                                \"column\": 41\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 925,\n                              \"end\": 936,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 39,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 39,\n                                  \"column\": 28\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"ThisExpression\",\n                                \"start\": 925,\n                                \"end\": 929,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 39,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 39,\n                                    \"column\": 21\n                                  }\n                                }\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 930,\n                                \"end\": 936,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 39,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 39,\n                                    \"column\": 28\n                                  },\n                                  \"identifierName\": \"radius\"\n                                },\n                                \"name\": \"radius\"\n                              },\n                              \"computed\": false\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 939,\n                              \"end\": 949,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 39,\n                                  \"column\": 31\n                                },\n                                \"end\": {\n                                  \"line\": 39,\n                                  \"column\": 41\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"ThisExpression\",\n                                \"start\": 939,\n                                \"end\": 943,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 39,\n                                    \"column\": 31\n                                  },\n                                  \"end\": {\n                                    \"line\": 39,\n                                    \"column\": 35\n                                  }\n                                }\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 944,\n                                \"end\": 949,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 39,\n                                    \"column\": 36\n                                  },\n                                  \"end\": {\n                                    \"line\": 39,\n                                    \"column\": 41\n                                  },\n                                  \"identifierName\": \"scale\"\n                                },\n                                \"name\": \"scale\"\n                              },\n                              \"computed\": false\n                            }\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 954,\n                      \"end\": 984,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 41,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 41,\n                          \"column\": 32\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 954,\n                        \"end\": 983,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 41,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 41,\n                            \"column\": 31\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 954,\n                          \"end\": 968,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 16\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 954,\n                            \"end\": 961,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"context\"\n                            },\n                            \"name\": \"context\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 962,\n                            \"end\": 968,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"moveTo\"\n                            },\n                            \"name\": \"moveTo\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 969,\n                            \"end\": 979,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 27\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 969,\n                              \"end\": 970,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 41,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 41,\n                                  \"column\": 18\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            },\n                            \"operator\": \"+\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 973,\n                              \"end\": 979,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 41,\n                                  \"column\": 21\n                                },\n                                \"end\": {\n                                  \"line\": 41,\n                                  \"column\": 27\n                                },\n                                \"identifierName\": \"radius\"\n                              },\n                              \"name\": \"radius\"\n                            }\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 981,\n                            \"end\": 982,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 29\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 30\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          }\n                        ]\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 987,\n                      \"end\": 1029,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 42,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 42,\n                          \"column\": 44\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 987,\n                        \"end\": 1028,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 42,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 42,\n                            \"column\": 43\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 987,\n                          \"end\": 998,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 42,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 42,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 987,\n                            \"end\": 994,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"context\"\n                            },\n                            \"name\": \"context\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 995,\n                            \"end\": 998,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"arc\"\n                            },\n                            \"name\": \"arc\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 999,\n                            \"end\": 1000,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"x\"\n                            },\n                            \"name\": \"x\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1002,\n                            \"end\": 1003,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1005,\n                            \"end\": 1011,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 20\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 26\n                              },\n                              \"identifierName\": \"radius\"\n                            },\n                            \"name\": \"radius\"\n                          },\n                          {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 1013,\n                            \"end\": 1014,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 28\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 29\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          },\n                          {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 1016,\n                            \"end\": 1027,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 42,\n                                \"column\": 31\n                              },\n                              \"end\": {\n                                \"line\": 42,\n                                \"column\": 42\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 1016,\n                              \"end\": 1023,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 42,\n                                  \"column\": 31\n                                },\n                                \"end\": {\n                                  \"line\": 42,\n                                  \"column\": 38\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1016,\n                                \"end\": 1020,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 42,\n                                    \"column\": 31\n                                  },\n                                  \"end\": {\n                                    \"line\": 42,\n                                    \"column\": 35\n                                  },\n                                  \"identifierName\": \"Math\"\n                                },\n                                \"name\": \"Math\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1021,\n                                \"end\": 1023,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 42,\n                                    \"column\": 36\n                                  },\n                                  \"end\": {\n                                    \"line\": 42,\n                                    \"column\": 38\n                                  },\n                                  \"identifierName\": \"PI\"\n                                },\n                                \"name\": \"PI\"\n                              },\n                              \"computed\": false\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 1026,\n                              \"end\": 1027,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 42,\n                                  \"column\": 41\n                                },\n                                \"end\": {\n                                  \"line\": 42,\n                                  \"column\": 42\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 2,\n                                \"raw\": \"2\"\n                              },\n                              \"value\": 2\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the circle to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the arc to\\n\\t \",\n                    \"start\": 690,\n                    \"end\": 840,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 32,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 35,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * A circle used to detect collisions\\n * @class\\n \",\n              \"start\": 32,\n              \"end\": 87,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 3,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 6,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A circle used to detect collisions\\n * @class\\n \",\n            \"start\": 32,\n            \"end\": 87,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 1034,\n        \"end\": 1035,\n        \"loc\": {\n          \"start\": {\n            \"line\": 44,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 44,\n            \"column\": 2\n          }\n        }\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A circle used to detect collisions\\n * @class\\n \",\n      \"start\": 32,\n      \"end\": 87,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 132,\n      \"end\": 461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 554,\n      \"end\": 594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 622,\n      \"end\": 662,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the circle to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the arc to\\n\\t \",\n      \"start\": 690,\n      \"end\": 840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 4\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 0,\n      \"end\": 6,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Body\",\n      \"start\": 7,\n      \"end\": 11,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 12,\n      \"end\": 16,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./Body.mjs\",\n      \"start\": 17,\n      \"end\": 29,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 29,\n      \"end\": 30,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A circle used to detect collisions\\n * @class\\n \",\n      \"start\": 32,\n      \"end\": 87,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 88,\n      \"end\": 94,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 95,\n      \"end\": 102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 103,\n      \"end\": 108,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Circle\",\n      \"start\": 109,\n      \"end\": 115,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"extends\",\n        \"keyword\": \"extends\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"extends\",\n      \"start\": 116,\n      \"end\": 123,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Body\",\n      \"start\": 124,\n      \"end\": 128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 129,\n      \"end\": 130,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 132,\n      \"end\": 461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 463,\n      \"end\": 474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 474,\n      \"end\": 475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 475,\n      \"end\": 476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 477,\n      \"end\": 478,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 479,\n      \"end\": 480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 480,\n      \"end\": 481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 482,\n      \"end\": 483,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 484,\n      \"end\": 485,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 486,\n      \"end\": 487,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 487,\n      \"end\": 488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 489,\n      \"end\": 495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 496,\n      \"end\": 497,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 498,\n      \"end\": 499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 499,\n      \"end\": 500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 501,\n      \"end\": 506,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 507,\n      \"end\": 508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 509,\n      \"end\": 510,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 510,\n      \"end\": 511,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 512,\n      \"end\": 519,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 520,\n      \"end\": 521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 522,\n      \"end\": 523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 523,\n      \"end\": 524,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 525,\n      \"end\": 526,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"super\",\n        \"keyword\": \"super\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"super\",\n      \"start\": 529,\n      \"end\": 534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 534,\n      \"end\": 535,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 535,\n      \"end\": 536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 536,\n      \"end\": 537,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 538,\n      \"end\": 539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 539,\n      \"end\": 540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 541,\n      \"end\": 548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 548,\n      \"end\": 549,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 549,\n      \"end\": 550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 554,\n      \"end\": 594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 597,\n      \"end\": 601,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 601,\n      \"end\": 602,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 602,\n      \"end\": 608,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 609,\n      \"end\": 610,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 611,\n      \"end\": 617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 617,\n      \"end\": 618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 622,\n      \"end\": 662,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 665,\n      \"end\": 669,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 669,\n      \"end\": 670,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 670,\n      \"end\": 675,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 676,\n      \"end\": 677,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 678,\n      \"end\": 683,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 683,\n      \"end\": 684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 686,\n      \"end\": 687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the circle to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the arc to\\n\\t \",\n      \"start\": 690,\n      \"end\": 840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"draw\",\n      \"start\": 842,\n      \"end\": 846,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 846,\n      \"end\": 847,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 847,\n      \"end\": 854,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 854,\n      \"end\": 855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 856,\n      \"end\": 857,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 860,\n      \"end\": 865,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 866,\n      \"end\": 867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 873,\n      \"end\": 874,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 875,\n      \"end\": 879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 879,\n      \"end\": 880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 880,\n      \"end\": 881,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 881,\n      \"end\": 882,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 885,\n      \"end\": 890,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 891,\n      \"end\": 892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 898,\n      \"end\": 899,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 900,\n      \"end\": 904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 904,\n      \"end\": 905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 905,\n      \"end\": 906,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 906,\n      \"end\": 907,\n      \"loc\": {\n        \"start\": {\n          \"line\": 38,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 38,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 910,\n      \"end\": 915,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 916,\n      \"end\": 922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 923,\n      \"end\": 924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 925,\n      \"end\": 929,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 929,\n      \"end\": 930,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 930,\n      \"end\": 936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 937,\n      \"end\": 938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 939,\n      \"end\": 943,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 943,\n      \"end\": 944,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 944,\n      \"end\": 949,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 949,\n      \"end\": 950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 954,\n      \"end\": 961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 961,\n      \"end\": 962,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"moveTo\",\n      \"start\": 962,\n      \"end\": 968,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 968,\n      \"end\": 969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 969,\n      \"end\": 970,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 971,\n      \"end\": 972,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 973,\n      \"end\": 979,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 979,\n      \"end\": 980,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 981,\n      \"end\": 982,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 982,\n      \"end\": 983,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 983,\n      \"end\": 984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 987,\n      \"end\": 994,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 994,\n      \"end\": 995,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"arc\",\n      \"start\": 995,\n      \"end\": 998,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 998,\n      \"end\": 999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 999,\n      \"end\": 1000,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1000,\n      \"end\": 1001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 1002,\n      \"end\": 1003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1003,\n      \"end\": 1004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 1005,\n      \"end\": 1011,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1011,\n      \"end\": 1012,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1013,\n      \"end\": 1014,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1014,\n      \"end\": 1015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 1016,\n      \"end\": 1020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1020,\n      \"end\": 1021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"PI\",\n      \"start\": 1021,\n      \"end\": 1023,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 1024,\n      \"end\": 1025,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 1026,\n      \"end\": 1027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1027,\n      \"end\": 1028,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1028,\n      \"end\": 1029,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1031,\n      \"end\": 1032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1033,\n      \"end\": 1034,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1034,\n      \"end\": 1035,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1036,\n      \"end\": 1036,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/Point.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 555,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 23,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 555,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 23,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 0,\n        \"end\": 36,\n        \"loc\": {\n          \"start\": {\n            \"line\": 1,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 1,\n            \"column\": 36\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 7,\n            \"end\": 14,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 1,\n                \"column\": 14\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 7,\n              \"end\": 14,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 1,\n                  \"column\": 14\n                },\n                \"identifierName\": \"Polygon\"\n              },\n              \"name\": \"Polygon\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 20,\n          \"end\": 35,\n          \"loc\": {\n            \"start\": {\n              \"line\": 1,\n              \"column\": 20\n            },\n            \"end\": {\n              \"line\": 1,\n              \"column\": 35\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./Polygon.mjs\",\n            \"raw\": \"'./Polygon.mjs'\"\n          },\n          \"value\": \"./Polygon.mjs\"\n        },\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A point used to detect collisions\\n * @class\\n \",\n            \"start\": 38,\n            \"end\": 92,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 93,\n        \"end\": 513,\n        \"loc\": {\n          \"start\": {\n            \"line\": 7,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 20,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 108,\n          \"end\": 513,\n          \"loc\": {\n            \"start\": {\n              \"line\": 7,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 20,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 114,\n            \"end\": 119,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 26\n              },\n              \"identifierName\": \"Point\"\n            },\n            \"name\": \"Point\",\n            \"leadingComments\": null\n          },\n          \"superClass\": {\n            \"type\": \"Identifier\",\n            \"start\": 128,\n            \"end\": 135,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 35\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 42\n              },\n              \"identifierName\": \"Polygon\"\n            },\n            \"name\": \"Polygon\"\n          },\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 136,\n            \"end\": 513,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 43\n              },\n              \"end\": {\n                \"line\": 20,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 384,\n                \"end\": 511,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 14,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 19,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 384,\n                  \"end\": 395,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 14,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 14,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 396,\n                    \"end\": 401,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 14,\n                        \"column\": 13\n                      },\n                      \"end\": {\n                        \"line\": 14,\n                        \"column\": 18\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 396,\n                      \"end\": 397,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 14\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 400,\n                      \"end\": 401,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 18\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 403,\n                    \"end\": 408,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 14,\n                        \"column\": 20\n                      },\n                      \"end\": {\n                        \"line\": 14,\n                        \"column\": 25\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 403,\n                      \"end\": 404,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 20\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 21\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 407,\n                      \"end\": 408,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 25\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 410,\n                    \"end\": 421,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 14,\n                        \"column\": 27\n                      },\n                      \"end\": {\n                        \"line\": 14,\n                        \"column\": 38\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 410,\n                      \"end\": 417,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 34\n                        },\n                        \"identifierName\": \"padding\"\n                      },\n                      \"name\": \"padding\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 420,\n                      \"end\": 421,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 37\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 38\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 423,\n                  \"end\": 511,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 14,\n                      \"column\": 40\n                    },\n                    \"end\": {\n                      \"line\": 19,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 427,\n                      \"end\": 467,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 15,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 15,\n                          \"column\": 42\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 427,\n                        \"end\": 466,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 15,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 15,\n                            \"column\": 41\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Super\",\n                          \"start\": 427,\n                          \"end\": 432,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 15,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 15,\n                              \"column\": 7\n                            }\n                          }\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 433,\n                            \"end\": 434,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 15,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 15,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"x\"\n                            },\n                            \"name\": \"x\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 436,\n                            \"end\": 437,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 15,\n                                \"column\": 11\n                              },\n                              \"end\": {\n                                \"line\": 15,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          },\n                          {\n                            \"type\": \"ArrayExpression\",\n                            \"start\": 439,\n                            \"end\": 447,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 15,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 15,\n                                \"column\": 22\n                              }\n                            },\n                            \"elements\": [\n                              {\n                                \"type\": \"ArrayExpression\",\n                                \"start\": 440,\n                                \"end\": 446,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 15,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 15,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"elements\": [\n                                  {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 441,\n                                    \"end\": 442,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 15,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 15,\n                                        \"column\": 17\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  },\n                                  {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 444,\n                                    \"end\": 445,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 15,\n                                        \"column\": 19\n                                      },\n                                      \"end\": {\n                                        \"line\": 15,\n                                        \"column\": 20\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  }\n                                ]\n                              }\n                            ]\n                          },\n                          {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 449,\n                            \"end\": 450,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 15,\n                                \"column\": 24\n                              },\n                              \"end\": {\n                                \"line\": 15,\n                                \"column\": 25\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          },\n                          {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 452,\n                            \"end\": 453,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 15,\n                                \"column\": 27\n                              },\n                              \"end\": {\n                                \"line\": 15,\n                                \"column\": 28\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          },\n                          {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 455,\n                            \"end\": 456,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 15,\n                                \"column\": 30\n                              },\n                              \"end\": {\n                                \"line\": 15,\n                                \"column\": 31\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 458,\n                            \"end\": 465,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 15,\n                                \"column\": 33\n                              },\n                              \"end\": {\n                                \"line\": 15,\n                                \"column\": 40\n                              },\n                              \"identifierName\": \"padding\"\n                            },\n                            \"name\": \"padding\"\n                          }\n                        ]\n                      },\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 471,\n                          \"end\": 486,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 489,\n                      \"end\": 508,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 489,\n                        \"end\": 507,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 18,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 18,\n                            \"column\": 20\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 489,\n                          \"end\": 500,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 489,\n                            \"end\": 493,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 18,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 18,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 494,\n                            \"end\": 500,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 18,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 18,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_point\"\n                            },\n                            \"name\": \"_point\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 503,\n                          \"end\": 507,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 20\n                            }\n                          },\n                          \"value\": true\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 471,\n                          \"end\": 486,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n                    \"start\": 139,\n                    \"end\": 382,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 8,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 13,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * A point used to detect collisions\\n * @class\\n \",\n              \"start\": 38,\n              \"end\": 92,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 3,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 6,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A point used to detect collisions\\n * @class\\n \",\n            \"start\": 38,\n            \"end\": 92,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 513,\n        \"end\": 514,\n        \"loc\": {\n          \"start\": {\n            \"line\": 20,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 20,\n            \"column\": 2\n          }\n        }\n      },\n      {\n        \"type\": \"ExpressionStatement\",\n        \"start\": 516,\n        \"end\": 554,\n        \"loc\": {\n          \"start\": {\n            \"line\": 22,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 22,\n            \"column\": 38\n          }\n        },\n        \"expression\": {\n          \"type\": \"AssignmentExpression\",\n          \"start\": 516,\n          \"end\": 553,\n          \"loc\": {\n            \"start\": {\n              \"line\": 22,\n              \"column\": 0\n            },\n            \"end\": {\n              \"line\": 22,\n              \"column\": 37\n            }\n          },\n          \"operator\": \"=\",\n          \"left\": {\n            \"type\": \"MemberExpression\",\n            \"start\": 516,\n            \"end\": 541,\n            \"loc\": {\n              \"start\": {\n                \"line\": 22,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 22,\n                \"column\": 25\n              }\n            },\n            \"object\": {\n              \"type\": \"MemberExpression\",\n              \"start\": 516,\n              \"end\": 531,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 22,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 22,\n                  \"column\": 15\n                }\n              },\n              \"object\": {\n                \"type\": \"Identifier\",\n                \"start\": 516,\n                \"end\": 521,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 22,\n                    \"column\": 0\n                  },\n                  \"end\": {\n                    \"line\": 22,\n                    \"column\": 5\n                  },\n                  \"identifierName\": \"Point\"\n                },\n                \"name\": \"Point\"\n              },\n              \"property\": {\n                \"type\": \"Identifier\",\n                \"start\": 522,\n                \"end\": 531,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 22,\n                    \"column\": 6\n                  },\n                  \"end\": {\n                    \"line\": 22,\n                    \"column\": 15\n                  },\n                  \"identifierName\": \"prototype\"\n                },\n                \"name\": \"prototype\"\n              },\n              \"computed\": false\n            },\n            \"property\": {\n              \"type\": \"Identifier\",\n              \"start\": 532,\n              \"end\": 541,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 22,\n                  \"column\": 16\n                },\n                \"end\": {\n                  \"line\": 22,\n                  \"column\": 25\n                },\n                \"identifierName\": \"setPoints\"\n              },\n              \"name\": \"setPoints\"\n            },\n            \"computed\": false\n          },\n          \"right\": {\n            \"type\": \"Identifier\",\n            \"start\": 544,\n            \"end\": 553,\n            \"loc\": {\n              \"start\": {\n                \"line\": 22,\n                \"column\": 28\n              },\n              \"end\": {\n                \"line\": 22,\n                \"column\": 37\n              },\n              \"identifierName\": \"undefined\"\n            },\n            \"name\": \"undefined\"\n          }\n        }\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A point used to detect collisions\\n * @class\\n \",\n      \"start\": 38,\n      \"end\": 92,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 139,\n      \"end\": 382,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 13,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 471,\n      \"end\": 486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 17\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 0,\n      \"end\": 6,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Polygon\",\n      \"start\": 7,\n      \"end\": 14,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 15,\n      \"end\": 19,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./Polygon.mjs\",\n      \"start\": 20,\n      \"end\": 35,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 35,\n      \"end\": 36,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A point used to detect collisions\\n * @class\\n \",\n      \"start\": 38,\n      \"end\": 92,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 93,\n      \"end\": 99,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 100,\n      \"end\": 107,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 108,\n      \"end\": 113,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Point\",\n      \"start\": 114,\n      \"end\": 119,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"extends\",\n        \"keyword\": \"extends\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"extends\",\n      \"start\": 120,\n      \"end\": 127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Polygon\",\n      \"start\": 128,\n      \"end\": 135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 136,\n      \"end\": 137,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 139,\n      \"end\": 382,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 13,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 384,\n      \"end\": 395,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 395,\n      \"end\": 396,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 396,\n      \"end\": 397,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 398,\n      \"end\": 399,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 400,\n      \"end\": 401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 401,\n      \"end\": 402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 403,\n      \"end\": 404,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 405,\n      \"end\": 406,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 407,\n      \"end\": 408,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 408,\n      \"end\": 409,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 410,\n      \"end\": 417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 418,\n      \"end\": 419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 420,\n      \"end\": 421,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 421,\n      \"end\": 422,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 423,\n      \"end\": 424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"super\",\n        \"keyword\": \"super\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"super\",\n      \"start\": 427,\n      \"end\": 432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 432,\n      \"end\": 433,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 433,\n      \"end\": 434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 434,\n      \"end\": 435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 436,\n      \"end\": 437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 437,\n      \"end\": 438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 439,\n      \"end\": 440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 440,\n      \"end\": 441,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 441,\n      \"end\": 442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 442,\n      \"end\": 443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 444,\n      \"end\": 445,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 445,\n      \"end\": 446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 446,\n      \"end\": 447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 447,\n      \"end\": 448,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 449,\n      \"end\": 450,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 450,\n      \"end\": 451,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 452,\n      \"end\": 453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 453,\n      \"end\": 454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 455,\n      \"end\": 456,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 456,\n      \"end\": 457,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 458,\n      \"end\": 465,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 465,\n      \"end\": 466,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 466,\n      \"end\": 467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 15,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 471,\n      \"end\": 486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 489,\n      \"end\": 493,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 493,\n      \"end\": 494,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_point\",\n      \"start\": 494,\n      \"end\": 500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 501,\n      \"end\": 502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 503,\n      \"end\": 507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 507,\n      \"end\": 508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 510,\n      \"end\": 511,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 512,\n      \"end\": 513,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 513,\n      \"end\": 514,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Point\",\n      \"start\": 516,\n      \"end\": 521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 521,\n      \"end\": 522,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"prototype\",\n      \"start\": 522,\n      \"end\": 531,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 531,\n      \"end\": 532,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"setPoints\",\n      \"start\": 532,\n      \"end\": 541,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 542,\n      \"end\": 543,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"undefined\",\n      \"start\": 544,\n      \"end\": 553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 553,\n      \"end\": 554,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 555,\n      \"end\": 555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/Polygon.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 5619,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 246,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 5619,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 246,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ImportDeclaration\",\n        \"start\": 0,\n        \"end\": 30,\n        \"loc\": {\n          \"start\": {\n            \"line\": 1,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 1,\n            \"column\": 30\n          }\n        },\n        \"specifiers\": [\n          {\n            \"type\": \"ImportDefaultSpecifier\",\n            \"start\": 7,\n            \"end\": 11,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 7\n              },\n              \"end\": {\n                \"line\": 1,\n                \"column\": 11\n              }\n            },\n            \"local\": {\n              \"type\": \"Identifier\",\n              \"start\": 7,\n              \"end\": 11,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 7\n                },\n                \"end\": {\n                  \"line\": 1,\n                  \"column\": 11\n                },\n                \"identifierName\": \"Body\"\n              },\n              \"name\": \"Body\"\n            }\n          }\n        ],\n        \"source\": {\n          \"type\": \"StringLiteral\",\n          \"start\": 17,\n          \"end\": 29,\n          \"loc\": {\n            \"start\": {\n              \"line\": 1,\n              \"column\": 17\n            },\n            \"end\": {\n              \"line\": 1,\n              \"column\": 29\n            }\n          },\n          \"extra\": {\n            \"rawValue\": \"./Body.mjs\",\n            \"raw\": \"'./Body.mjs'\"\n          },\n          \"value\": \"./Body.mjs\"\n        },\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A polygon used to detect collisions\\n * @class\\n \",\n            \"start\": 32,\n            \"end\": 88,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 89,\n        \"end\": 5617,\n        \"loc\": {\n          \"start\": {\n            \"line\": 7,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 245,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 104,\n          \"end\": 5617,\n          \"loc\": {\n            \"start\": {\n              \"line\": 7,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 245,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 110,\n            \"end\": 117,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 28\n              },\n              \"identifierName\": \"Polygon\"\n            },\n            \"name\": \"Polygon\",\n            \"leadingComments\": null\n          },\n          \"superClass\": {\n            \"type\": \"Identifier\",\n            \"start\": 126,\n            \"end\": 130,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 37\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 41\n              },\n              \"identifierName\": \"Body\"\n            },\n            \"name\": \"Body\"\n          },\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 131,\n            \"end\": 5617,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 42\n              },\n              \"end\": {\n                \"line\": 245,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 705,\n                \"end\": 1853,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 18,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 89,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 705,\n                  \"end\": 716,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 18,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 18,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 717,\n                    \"end\": 722,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 13\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 18\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 717,\n                      \"end\": 718,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 14\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 721,\n                      \"end\": 722,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 18\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 724,\n                    \"end\": 729,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 20\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 25\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 724,\n                      \"end\": 725,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 20\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 21\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 728,\n                      \"end\": 729,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 25\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 731,\n                    \"end\": 742,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 27\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 38\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 731,\n                      \"end\": 737,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 33\n                        },\n                        \"identifierName\": \"points\"\n                      },\n                      \"name\": \"points\"\n                    },\n                    \"right\": {\n                      \"type\": \"ArrayExpression\",\n                      \"start\": 740,\n                      \"end\": 742,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 36\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 38\n                        }\n                      },\n                      \"elements\": []\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 744,\n                    \"end\": 753,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 40\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 49\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 744,\n                      \"end\": 749,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 40\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 45\n                        },\n                        \"identifierName\": \"angle\"\n                      },\n                      \"name\": \"angle\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 752,\n                      \"end\": 753,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 48\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 49\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 755,\n                    \"end\": 766,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 51\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 62\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 755,\n                      \"end\": 762,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 51\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 58\n                        },\n                        \"identifierName\": \"scale_x\"\n                      },\n                      \"name\": \"scale_x\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 765,\n                      \"end\": 766,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 61\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 62\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 768,\n                    \"end\": 779,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 64\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 75\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 768,\n                      \"end\": 775,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 64\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 71\n                        },\n                        \"identifierName\": \"scale_y\"\n                      },\n                      \"name\": \"scale_y\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 778,\n                      \"end\": 779,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 74\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 75\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentPattern\",\n                    \"start\": 781,\n                    \"end\": 792,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 18,\n                        \"column\": 77\n                      },\n                      \"end\": {\n                        \"line\": 18,\n                        \"column\": 88\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 781,\n                      \"end\": 788,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 77\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 84\n                        },\n                        \"identifierName\": \"padding\"\n                      },\n                      \"name\": \"padding\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 791,\n                      \"end\": 792,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 87\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 88\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 794,\n                  \"end\": 1853,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 18,\n                      \"column\": 90\n                    },\n                    \"end\": {\n                      \"line\": 89,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 798,\n                      \"end\": 819,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 19,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 19,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 798,\n                        \"end\": 818,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 19,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 19,\n                            \"column\": 22\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"Super\",\n                          \"start\": 798,\n                          \"end\": 803,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 19,\n                              \"column\": 7\n                            }\n                          }\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 804,\n                            \"end\": 805,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 19,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 19,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"x\"\n                            },\n                            \"name\": \"x\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 807,\n                            \"end\": 808,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 19,\n                                \"column\": 11\n                              },\n                              \"end\": {\n                                \"line\": 19,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 810,\n                            \"end\": 817,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 19,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 19,\n                                \"column\": 21\n                              },\n                              \"identifierName\": \"padding\"\n                            },\n                            \"name\": \"padding\"\n                          }\n                        ]\n                      },\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The angle of the body in radians\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 823,\n                          \"end\": 896,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 21,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 24,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 899,\n                      \"end\": 918,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 25,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 25,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 899,\n                        \"end\": 917,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 25,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 25,\n                            \"column\": 20\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 899,\n                          \"end\": 909,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 25,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 25,\n                              \"column\": 12\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 899,\n                            \"end\": 903,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 25,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 25,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 904,\n                            \"end\": 909,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 25,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 25,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"angle\"\n                            },\n                            \"name\": \"angle\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 912,\n                          \"end\": 917,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 25,\n                              \"column\": 15\n                            },\n                            \"end\": {\n                              \"line\": 25,\n                              \"column\": 20\n                            },\n                            \"identifierName\": \"angle\"\n                          },\n                          \"name\": \"angle\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The angle of the body in radians\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 823,\n                          \"end\": 896,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 21,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 24,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The scale of the body along the X axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 922,\n                          \"end\": 1001,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 27,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 30,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1004,\n                      \"end\": 1027,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 31,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 31,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1004,\n                        \"end\": 1026,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 31,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 31,\n                            \"column\": 24\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1004,\n                          \"end\": 1016,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 31,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 31,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1004,\n                            \"end\": 1008,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 31,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 31,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1009,\n                            \"end\": 1016,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 31,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 31,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"scale_x\"\n                            },\n                            \"name\": \"scale_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1019,\n                          \"end\": 1026,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 31,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 31,\n                              \"column\": 24\n                            },\n                            \"identifierName\": \"scale_x\"\n                          },\n                          \"name\": \"scale_x\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The scale of the body along the X axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 922,\n                          \"end\": 1001,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 27,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 30,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The scale of the body along the Y axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 1031,\n                          \"end\": 1110,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 36,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1113,\n                      \"end\": 1136,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 37,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 37,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1113,\n                        \"end\": 1135,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 37,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 37,\n                            \"column\": 24\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1113,\n                          \"end\": 1125,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 37,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 37,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1113,\n                            \"end\": 1117,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 37,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 37,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1118,\n                            \"end\": 1125,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 37,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 37,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"scale_y\"\n                            },\n                            \"name\": \"scale_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1128,\n                          \"end\": 1135,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 37,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 37,\n                              \"column\": 24\n                            },\n                            \"identifierName\": \"scale_y\"\n                          },\n                          \"name\": \"scale_y\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The scale of the body along the Y axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 1031,\n                          \"end\": 1110,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 36,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1141,\n                          \"end\": 1156,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 40,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 40,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1159,\n                      \"end\": 1180,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 41,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 41,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1159,\n                        \"end\": 1179,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 41,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 41,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1159,\n                          \"end\": 1172,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1159,\n                            \"end\": 1163,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1164,\n                            \"end\": 1172,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 41,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_polygon\"\n                            },\n                            \"name\": \"_polygon\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 1175,\n                          \"end\": 1179,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 41,\n                              \"column\": 22\n                            }\n                          },\n                          \"value\": true\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1141,\n                          \"end\": 1156,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 40,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 40,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1184,\n                          \"end\": 1199,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 43,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 43,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1202,\n                      \"end\": 1214,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 44,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 44,\n                          \"column\": 14\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1202,\n                        \"end\": 1213,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 44,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 44,\n                            \"column\": 13\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1202,\n                          \"end\": 1209,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 44,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 44,\n                              \"column\": 9\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1202,\n                            \"end\": 1206,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 44,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 44,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1207,\n                            \"end\": 1209,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 44,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 44,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"_x\"\n                            },\n                            \"name\": \"_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1212,\n                          \"end\": 1213,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 44,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 44,\n                              \"column\": 13\n                            },\n                            \"identifierName\": \"x\"\n                          },\n                          \"name\": \"x\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1184,\n                          \"end\": 1199,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 43,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 43,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1218,\n                          \"end\": 1233,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 46,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 46,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1236,\n                      \"end\": 1248,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 47,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 47,\n                          \"column\": 14\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1236,\n                        \"end\": 1247,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 47,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 47,\n                            \"column\": 13\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1236,\n                          \"end\": 1243,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 47,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 47,\n                              \"column\": 9\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1236,\n                            \"end\": 1240,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 47,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 47,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1241,\n                            \"end\": 1243,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 47,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 47,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"_y\"\n                            },\n                            \"name\": \"_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1246,\n                          \"end\": 1247,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 47,\n                              \"column\": 12\n                            },\n                            \"end\": {\n                              \"line\": 47,\n                              \"column\": 13\n                            },\n                            \"identifierName\": \"y\"\n                          },\n                          \"name\": \"y\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1218,\n                          \"end\": 1233,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 46,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 46,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1252,\n                          \"end\": 1267,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 49,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 49,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1270,\n                      \"end\": 1290,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 50,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 50,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1270,\n                        \"end\": 1289,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 50,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 50,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1270,\n                          \"end\": 1281,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 50,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 50,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1270,\n                            \"end\": 1274,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 50,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 50,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1275,\n                            \"end\": 1281,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 50,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 50,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_angle\"\n                            },\n                            \"name\": \"_angle\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1284,\n                          \"end\": 1289,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 50,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 50,\n                              \"column\": 21\n                            },\n                            \"identifierName\": \"angle\"\n                          },\n                          \"name\": \"angle\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1252,\n                          \"end\": 1267,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 49,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 49,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1294,\n                          \"end\": 1309,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1312,\n                      \"end\": 1336,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 53,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 53,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1312,\n                        \"end\": 1335,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 53,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 53,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1312,\n                          \"end\": 1325,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 53,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 53,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1312,\n                            \"end\": 1316,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 53,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 53,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1317,\n                            \"end\": 1325,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 53,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 53,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_scale_x\"\n                            },\n                            \"name\": \"_scale_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1328,\n                          \"end\": 1335,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 53,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 53,\n                              \"column\": 25\n                            },\n                            \"identifierName\": \"scale_x\"\n                          },\n                          \"name\": \"scale_x\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1294,\n                          \"end\": 1309,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1340,\n                          \"end\": 1355,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 55,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 55,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1358,\n                      \"end\": 1382,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 56,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 56,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1358,\n                        \"end\": 1381,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 56,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 56,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1358,\n                          \"end\": 1371,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 56,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 56,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1358,\n                            \"end\": 1362,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 56,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 56,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1363,\n                            \"end\": 1371,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 56,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 56,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_scale_y\"\n                            },\n                            \"name\": \"_scale_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1374,\n                          \"end\": 1381,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 56,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 56,\n                              \"column\": 25\n                            },\n                            \"identifierName\": \"scale_y\"\n                          },\n                          \"name\": \"scale_y\"\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1340,\n                          \"end\": 1355,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 55,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 55,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1386,\n                          \"end\": 1401,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 58,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 58,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1404,\n                      \"end\": 1420,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 59,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 59,\n                          \"column\": 18\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1404,\n                        \"end\": 1419,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 59,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 59,\n                            \"column\": 17\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1404,\n                          \"end\": 1415,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 59,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 59,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1404,\n                            \"end\": 1408,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 59,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 59,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1409,\n                            \"end\": 1415,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 59,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 59,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_min_x\"\n                            },\n                            \"name\": \"_min_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1418,\n                          \"end\": 1419,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 59,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 59,\n                              \"column\": 17\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1386,\n                          \"end\": 1401,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 58,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 58,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1424,\n                          \"end\": 1439,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 61,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 61,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1442,\n                      \"end\": 1458,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 62,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 62,\n                          \"column\": 18\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1442,\n                        \"end\": 1457,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 62,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 62,\n                            \"column\": 17\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1442,\n                          \"end\": 1453,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 62,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 62,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1442,\n                            \"end\": 1446,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 62,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 62,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1447,\n                            \"end\": 1453,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 62,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 62,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_min_y\"\n                            },\n                            \"name\": \"_min_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1456,\n                          \"end\": 1457,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 62,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 62,\n                              \"column\": 17\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1424,\n                          \"end\": 1439,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 61,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 61,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1462,\n                          \"end\": 1477,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 64,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 64,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1480,\n                      \"end\": 1496,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 65,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 65,\n                          \"column\": 18\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1480,\n                        \"end\": 1495,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 65,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 65,\n                            \"column\": 17\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1480,\n                          \"end\": 1491,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1480,\n                            \"end\": 1484,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 65,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1485,\n                            \"end\": 1491,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 65,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_max_x\"\n                            },\n                            \"name\": \"_max_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1494,\n                          \"end\": 1495,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 65,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 17\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1462,\n                          \"end\": 1477,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 64,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 64,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1500,\n                          \"end\": 1515,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1518,\n                      \"end\": 1534,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 68,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 68,\n                          \"column\": 18\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1518,\n                        \"end\": 1533,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 68,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 68,\n                            \"column\": 17\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1518,\n                          \"end\": 1529,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 68,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 68,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1518,\n                            \"end\": 1522,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 68,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 68,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1523,\n                            \"end\": 1529,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 68,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 68,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_max_y\"\n                            },\n                            \"name\": \"_max_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1532,\n                          \"end\": 1533,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 68,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 68,\n                              \"column\": 17\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1500,\n                          \"end\": 1515,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 67,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 67,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1538,\n                          \"end\": 1553,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 70,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 70,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1556,\n                      \"end\": 1576,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 71,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 71,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1556,\n                        \"end\": 1575,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 71,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 71,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1556,\n                          \"end\": 1568,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 71,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 71,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1556,\n                            \"end\": 1560,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 71,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 71,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1561,\n                            \"end\": 1568,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 71,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 71,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"_points\"\n                            },\n                            \"name\": \"_points\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 1571,\n                          \"end\": 1575,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 71,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 71,\n                              \"column\": 21\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1538,\n                          \"end\": 1553,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 70,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 70,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1580,\n                          \"end\": 1595,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 73,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 73,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1598,\n                      \"end\": 1618,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 74,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 74,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1598,\n                        \"end\": 1617,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 74,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 74,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1598,\n                          \"end\": 1610,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 74,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 74,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1598,\n                            \"end\": 1602,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 74,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 74,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1603,\n                            \"end\": 1610,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 74,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 74,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"_coords\"\n                            },\n                            \"name\": \"_coords\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 1613,\n                          \"end\": 1617,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 74,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 74,\n                              \"column\": 21\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1580,\n                          \"end\": 1595,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 73,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 73,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1622,\n                          \"end\": 1637,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 76,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 76,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1640,\n                      \"end\": 1659,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 77,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 77,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1640,\n                        \"end\": 1658,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 77,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 77,\n                            \"column\": 20\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1640,\n                          \"end\": 1651,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 77,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 77,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1640,\n                            \"end\": 1644,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 77,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 77,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1645,\n                            \"end\": 1651,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 77,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 77,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_edges\"\n                            },\n                            \"name\": \"_edges\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 1654,\n                          \"end\": 1658,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 77,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 77,\n                              \"column\": 20\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1622,\n                          \"end\": 1637,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 76,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 76,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1663,\n                          \"end\": 1678,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 79,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 79,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1681,\n                      \"end\": 1702,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 80,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 80,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1681,\n                        \"end\": 1701,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 80,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 80,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1681,\n                          \"end\": 1694,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 80,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 80,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1681,\n                            \"end\": 1685,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 80,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 80,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1686,\n                            \"end\": 1694,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 80,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 80,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_normals\"\n                            },\n                            \"name\": \"_normals\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 1697,\n                          \"end\": 1701,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 80,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 80,\n                              \"column\": 22\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1663,\n                          \"end\": 1678,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 79,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 79,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1706,\n                          \"end\": 1721,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 82,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 82,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1724,\n                      \"end\": 1750,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 83,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 83,\n                          \"column\": 28\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1724,\n                        \"end\": 1749,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 83,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 83,\n                            \"column\": 27\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1724,\n                          \"end\": 1742,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 83,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 83,\n                              \"column\": 20\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1724,\n                            \"end\": 1728,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 83,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 83,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1729,\n                            \"end\": 1742,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 83,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 83,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"_dirty_coords\"\n                            },\n                            \"name\": \"_dirty_coords\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 1745,\n                          \"end\": 1749,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 83,\n                              \"column\": 23\n                            },\n                            \"end\": {\n                              \"line\": 83,\n                              \"column\": 27\n                            }\n                          },\n                          \"value\": true\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1706,\n                          \"end\": 1721,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 82,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 82,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1754,\n                          \"end\": 1769,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 85,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 85,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1772,\n                      \"end\": 1799,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 86,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 86,\n                          \"column\": 29\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1772,\n                        \"end\": 1798,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 86,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 86,\n                            \"column\": 28\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1772,\n                          \"end\": 1791,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 86,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 86,\n                              \"column\": 21\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1772,\n                            \"end\": 1776,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 86,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 86,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1777,\n                            \"end\": 1791,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 86,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 86,\n                                \"column\": 21\n                              },\n                              \"identifierName\": \"_dirty_normals\"\n                            },\n                            \"name\": \"_dirty_normals\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 1794,\n                          \"end\": 1798,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 86,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 86,\n                              \"column\": 28\n                            }\n                          },\n                          \"value\": true\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"* @private \",\n                          \"start\": 1754,\n                          \"end\": 1769,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 85,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 85,\n                              \"column\": 17\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1803,\n                      \"end\": 1850,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 88,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 88,\n                          \"column\": 49\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"CallExpression\",\n                        \"start\": 1803,\n                        \"end\": 1849,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 88,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 88,\n                            \"column\": 48\n                          }\n                        },\n                        \"callee\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1803,\n                          \"end\": 1835,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 88,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 88,\n                              \"column\": 34\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1803,\n                            \"end\": 1830,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 88,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 88,\n                                \"column\": 29\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 1803,\n                              \"end\": 1820,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 88,\n                                  \"column\": 2\n                                },\n                                \"end\": {\n                                  \"line\": 88,\n                                  \"column\": 19\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1803,\n                                \"end\": 1810,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 88,\n                                    \"column\": 2\n                                  },\n                                  \"end\": {\n                                    \"line\": 88,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"Polygon\"\n                                },\n                                \"name\": \"Polygon\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1811,\n                                \"end\": 1820,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 88,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 88,\n                                    \"column\": 19\n                                  },\n                                  \"identifierName\": \"prototype\"\n                                },\n                                \"name\": \"prototype\"\n                              },\n                              \"computed\": false\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1821,\n                              \"end\": 1830,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 88,\n                                  \"column\": 20\n                                },\n                                \"end\": {\n                                  \"line\": 88,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"setPoints\"\n                              },\n                              \"name\": \"setPoints\"\n                            },\n                            \"computed\": false\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1831,\n                            \"end\": 1835,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 88,\n                                \"column\": 30\n                              },\n                              \"end\": {\n                                \"line\": 88,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"call\"\n                            },\n                            \"name\": \"call\"\n                          },\n                          \"computed\": false\n                        },\n                        \"arguments\": [\n                          {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1836,\n                            \"end\": 1840,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 88,\n                                \"column\": 35\n                              },\n                              \"end\": {\n                                \"line\": 88,\n                                \"column\": 39\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"Identifier\",\n                            \"start\": 1842,\n                            \"end\": 1848,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 88,\n                                \"column\": 41\n                              },\n                              \"end\": {\n                                \"line\": 88,\n                                \"column\": 47\n                              },\n                              \"identifierName\": \"points\"\n                            },\n                            \"name\": \"points\"\n                          }\n                        ]\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n                    \"start\": 134,\n                    \"end\": 703,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 8,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 17,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the polygon to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the shape to\\n\\t \",\n                    \"start\": 1856,\n                    \"end\": 2009,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 91,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 94,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2011,\n                \"end\": 2657,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 95,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 124,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2011,\n                  \"end\": 2015,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 95,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 95,\n                      \"column\": 5\n                    },\n                    \"identifierName\": \"draw\"\n                  },\n                  \"name\": \"draw\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 2016,\n                    \"end\": 2023,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 95,\n                        \"column\": 6\n                      },\n                      \"end\": {\n                        \"line\": 95,\n                        \"column\": 13\n                      },\n                      \"identifierName\": \"context\"\n                    },\n                    \"name\": \"context\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2025,\n                  \"end\": 2657,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 95,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 124,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 2029,\n                      \"end\": 2263,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 96,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 105,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 2036,\n                        \"end\": 2225,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 97,\n                            \"column\": 3\n                          },\n                          \"end\": {\n                            \"line\": 102,\n                            \"column\": 33\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"LogicalExpression\",\n                          \"start\": 2036,\n                          \"end\": 2188,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 97,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 101,\n                              \"column\": 33\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"LogicalExpression\",\n                            \"start\": 2036,\n                            \"end\": 2151,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 97,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 100,\n                                \"column\": 31\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 2036,\n                              \"end\": 2116,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 97,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 99,\n                                  \"column\": 27\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"LogicalExpression\",\n                                \"start\": 2036,\n                                \"end\": 2085,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 97,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 98,\n                                    \"column\": 27\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2036,\n                                  \"end\": 2054,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 97,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 97,\n                                      \"column\": 21\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"ThisExpression\",\n                                    \"start\": 2036,\n                                    \"end\": 2040,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 97,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 97,\n                                        \"column\": 7\n                                      }\n                                    }\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2041,\n                                    \"end\": 2054,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 97,\n                                        \"column\": 8\n                                      },\n                                      \"end\": {\n                                        \"line\": 97,\n                                        \"column\": 21\n                                      },\n                                      \"identifierName\": \"_dirty_coords\"\n                                    },\n                                    \"name\": \"_dirty_coords\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"||\",\n                                \"right\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 2061,\n                                  \"end\": 2085,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 98,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 98,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 2061,\n                                    \"end\": 2067,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 98,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 98,\n                                        \"column\": 9\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"ThisExpression\",\n                                      \"start\": 2061,\n                                      \"end\": 2065,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 98,\n                                          \"column\": 3\n                                        },\n                                        \"end\": {\n                                          \"line\": 98,\n                                          \"column\": 7\n                                        }\n                                      }\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 2066,\n                                      \"end\": 2067,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 98,\n                                          \"column\": 8\n                                        },\n                                        \"end\": {\n                                          \"line\": 98,\n                                          \"column\": 9\n                                        },\n                                        \"identifierName\": \"x\"\n                                      },\n                                      \"name\": \"x\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"operator\": \"!==\",\n                                  \"right\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 2078,\n                                    \"end\": 2085,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 98,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 98,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"ThisExpression\",\n                                      \"start\": 2078,\n                                      \"end\": 2082,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 98,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 98,\n                                          \"column\": 24\n                                        }\n                                      }\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 2083,\n                                      \"end\": 2085,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 98,\n                                          \"column\": 25\n                                        },\n                                        \"end\": {\n                                          \"line\": 98,\n                                          \"column\": 27\n                                        },\n                                        \"identifierName\": \"_x\"\n                                      },\n                                      \"name\": \"_x\"\n                                    },\n                                    \"computed\": false\n                                  }\n                                }\n                              },\n                              \"operator\": \"||\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 2092,\n                                \"end\": 2116,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 99,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 99,\n                                    \"column\": 27\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2092,\n                                  \"end\": 2098,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 99,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 99,\n                                      \"column\": 9\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"ThisExpression\",\n                                    \"start\": 2092,\n                                    \"end\": 2096,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 99,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 99,\n                                        \"column\": 7\n                                      }\n                                    }\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2097,\n                                    \"end\": 2098,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 99,\n                                        \"column\": 8\n                                      },\n                                      \"end\": {\n                                        \"line\": 99,\n                                        \"column\": 9\n                                      },\n                                      \"identifierName\": \"y\"\n                                    },\n                                    \"name\": \"y\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"!==\",\n                                \"right\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2109,\n                                  \"end\": 2116,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 99,\n                                      \"column\": 20\n                                    },\n                                    \"end\": {\n                                      \"line\": 99,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"ThisExpression\",\n                                    \"start\": 2109,\n                                    \"end\": 2113,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 99,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 99,\n                                        \"column\": 24\n                                      }\n                                    }\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2114,\n                                    \"end\": 2116,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 99,\n                                        \"column\": 25\n                                      },\n                                      \"end\": {\n                                        \"line\": 99,\n                                        \"column\": 27\n                                      },\n                                      \"identifierName\": \"_y\"\n                                    },\n                                    \"name\": \"_y\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            },\n                            \"operator\": \"||\",\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 2123,\n                              \"end\": 2151,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 100,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 100,\n                                  \"column\": 31\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2123,\n                                \"end\": 2133,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 100,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 100,\n                                    \"column\": 13\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 2123,\n                                  \"end\": 2127,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 100,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 100,\n                                      \"column\": 7\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2128,\n                                  \"end\": 2133,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 100,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 100,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"angle\"\n                                  },\n                                  \"name\": \"angle\"\n                                },\n                                \"computed\": false\n                              },\n                              \"operator\": \"!==\",\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2140,\n                                \"end\": 2151,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 100,\n                                    \"column\": 20\n                                  },\n                                  \"end\": {\n                                    \"line\": 100,\n                                    \"column\": 31\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 2140,\n                                  \"end\": 2144,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 100,\n                                      \"column\": 20\n                                    },\n                                    \"end\": {\n                                      \"line\": 100,\n                                      \"column\": 24\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2145,\n                                  \"end\": 2151,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 100,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 100,\n                                      \"column\": 31\n                                    },\n                                    \"identifierName\": \"_angle\"\n                                  },\n                                  \"name\": \"_angle\"\n                                },\n                                \"computed\": false\n                              }\n                            }\n                          },\n                          \"operator\": \"||\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 2158,\n                            \"end\": 2188,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 101,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 101,\n                                \"column\": 33\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 2158,\n                              \"end\": 2170,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 101,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 101,\n                                  \"column\": 15\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"ThisExpression\",\n                                \"start\": 2158,\n                                \"end\": 2162,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 101,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 101,\n                                    \"column\": 7\n                                  }\n                                }\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 2163,\n                                \"end\": 2170,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 101,\n                                    \"column\": 8\n                                  },\n                                  \"end\": {\n                                    \"line\": 101,\n                                    \"column\": 15\n                                  },\n                                  \"identifierName\": \"scale_x\"\n                                },\n                                \"name\": \"scale_x\"\n                              },\n                              \"computed\": false\n                            },\n                            \"operator\": \"!==\",\n                            \"right\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 2175,\n                              \"end\": 2188,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 101,\n                                  \"column\": 20\n                                },\n                                \"end\": {\n                                  \"line\": 101,\n                                  \"column\": 33\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"ThisExpression\",\n                                \"start\": 2175,\n                                \"end\": 2179,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 101,\n                                    \"column\": 20\n                                  },\n                                  \"end\": {\n                                    \"line\": 101,\n                                    \"column\": 24\n                                  }\n                                }\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 2180,\n                                \"end\": 2188,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 101,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 101,\n                                    \"column\": 33\n                                  },\n                                  \"identifierName\": \"_scale_x\"\n                                },\n                                \"name\": \"_scale_x\"\n                              },\n                              \"computed\": false\n                            }\n                          }\n                        },\n                        \"operator\": \"||\",\n                        \"right\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 2195,\n                          \"end\": 2225,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 102,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 102,\n                              \"column\": 33\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 2195,\n                            \"end\": 2207,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 102,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 102,\n                                \"column\": 15\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 2195,\n                              \"end\": 2199,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 102,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 102,\n                                  \"column\": 7\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2200,\n                              \"end\": 2207,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 102,\n                                  \"column\": 8\n                                },\n                                \"end\": {\n                                  \"line\": 102,\n                                  \"column\": 15\n                                },\n                                \"identifierName\": \"scale_y\"\n                              },\n                              \"name\": \"scale_y\"\n                            },\n                            \"computed\": false\n                          },\n                          \"operator\": \"!==\",\n                          \"right\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 2212,\n                            \"end\": 2225,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 102,\n                                \"column\": 20\n                              },\n                              \"end\": {\n                                \"line\": 102,\n                                \"column\": 33\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 2212,\n                              \"end\": 2216,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 102,\n                                  \"column\": 20\n                                },\n                                \"end\": {\n                                  \"line\": 102,\n                                  \"column\": 24\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2217,\n                              \"end\": 2225,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 102,\n                                  \"column\": 25\n                                },\n                                \"end\": {\n                                  \"line\": 102,\n                                  \"column\": 33\n                                },\n                                \"identifierName\": \"_scale_y\"\n                              },\n                              \"name\": \"_scale_y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 2230,\n                        \"end\": 2263,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 103,\n                            \"column\": 4\n                          },\n                          \"end\": {\n                            \"line\": 105,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 2235,\n                            \"end\": 2259,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 104,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 104,\n                                \"column\": 27\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 2235,\n                              \"end\": 2258,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 104,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 104,\n                                  \"column\": 26\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2235,\n                                \"end\": 2256,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 104,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 104,\n                                    \"column\": 24\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"ThisExpression\",\n                                  \"start\": 2235,\n                                  \"end\": 2239,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 7\n                                    }\n                                  }\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2240,\n                                  \"end\": 2256,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 104,\n                                      \"column\": 8\n                                    },\n                                    \"end\": {\n                                      \"line\": 104,\n                                      \"column\": 24\n                                    },\n                                    \"identifierName\": \"_calculateCoords\"\n                                  },\n                                  \"name\": \"_calculateCoords\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 2267,\n                      \"end\": 2295,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 107,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 107,\n                          \"column\": 30\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 2273,\n                          \"end\": 2294,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 107,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 107,\n                              \"column\": 29\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2273,\n                            \"end\": 2279,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 107,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 107,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"coords\"\n                            },\n                            \"name\": \"coords\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 2282,\n                            \"end\": 2294,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 107,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 107,\n                                \"column\": 29\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 2282,\n                              \"end\": 2286,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 107,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 107,\n                                  \"column\": 21\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2287,\n                              \"end\": 2294,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 107,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 107,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"_coords\"\n                              },\n                              \"name\": \"_coords\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 2299,\n                      \"end\": 2654,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 109,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 123,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 2302,\n                        \"end\": 2321,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 109,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 109,\n                            \"column\": 24\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 2302,\n                          \"end\": 2315,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 109,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 109,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2302,\n                            \"end\": 2308,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 109,\n                                \"column\": 5\n                              },\n                              \"end\": {\n                                \"line\": 109,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"coords\"\n                            },\n                            \"name\": \"coords\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2309,\n                            \"end\": 2315,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 109,\n                                \"column\": 12\n                              },\n                              \"end\": {\n                                \"line\": 109,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"length\"\n                            },\n                            \"name\": \"length\"\n                          },\n                          \"computed\": false\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 2320,\n                          \"end\": 2321,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 109,\n                              \"column\": 23\n                            },\n                            \"end\": {\n                              \"line\": 109,\n                              \"column\": 24\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 2,\n                            \"raw\": \"2\"\n                          },\n                          \"value\": 2\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 2323,\n                        \"end\": 2426,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 109,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 112,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 2328,\n                            \"end\": 2365,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 110,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 110,\n                                \"column\": 40\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 2328,\n                              \"end\": 2364,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 110,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 110,\n                                  \"column\": 39\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2328,\n                                \"end\": 2342,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 110,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 110,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2328,\n                                  \"end\": 2335,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 110,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 110,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2336,\n                                  \"end\": 2342,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 110,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 110,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"moveTo\"\n                                  },\n                                  \"name\": \"moveTo\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2343,\n                                  \"end\": 2352,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 110,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 110,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2343,\n                                    \"end\": 2349,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 110,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 110,\n                                        \"column\": 24\n                                      },\n                                      \"identifierName\": \"coords\"\n                                    },\n                                    \"name\": \"coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2350,\n                                    \"end\": 2351,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 110,\n                                        \"column\": 25\n                                      },\n                                      \"end\": {\n                                        \"line\": 110,\n                                        \"column\": 26\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  },\n                                  \"computed\": true\n                                },\n                                {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2354,\n                                  \"end\": 2363,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 110,\n                                      \"column\": 29\n                                    },\n                                    \"end\": {\n                                      \"line\": 110,\n                                      \"column\": 38\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2354,\n                                    \"end\": 2360,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 110,\n                                        \"column\": 29\n                                      },\n                                      \"end\": {\n                                        \"line\": 110,\n                                        \"column\": 35\n                                      },\n                                      \"identifierName\": \"coords\"\n                                    },\n                                    \"name\": \"coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2361,\n                                    \"end\": 2362,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 110,\n                                        \"column\": 36\n                                      },\n                                      \"end\": {\n                                        \"line\": 110,\n                                        \"column\": 37\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 1,\n                                      \"raw\": \"1\"\n                                    },\n                                    \"value\": 1\n                                  },\n                                  \"computed\": true\n                                }\n                              ]\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 2369,\n                            \"end\": 2422,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 111,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 111,\n                                \"column\": 56\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 2369,\n                              \"end\": 2421,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 111,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 111,\n                                  \"column\": 55\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2369,\n                                \"end\": 2380,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 111,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 111,\n                                    \"column\": 14\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2369,\n                                  \"end\": 2376,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 111,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 111,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2377,\n                                  \"end\": 2380,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 111,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 111,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"arc\"\n                                  },\n                                  \"name\": \"arc\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2381,\n                                  \"end\": 2390,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 111,\n                                      \"column\": 15\n                                    },\n                                    \"end\": {\n                                      \"line\": 111,\n                                      \"column\": 24\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2381,\n                                    \"end\": 2387,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 111,\n                                        \"column\": 15\n                                      },\n                                      \"end\": {\n                                        \"line\": 111,\n                                        \"column\": 21\n                                      },\n                                      \"identifierName\": \"coords\"\n                                    },\n                                    \"name\": \"coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2388,\n                                    \"end\": 2389,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 111,\n                                        \"column\": 22\n                                      },\n                                      \"end\": {\n                                        \"line\": 111,\n                                        \"column\": 23\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  },\n                                  \"computed\": true\n                                },\n                                {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2392,\n                                  \"end\": 2401,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 111,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 111,\n                                      \"column\": 35\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2392,\n                                    \"end\": 2398,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 111,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 111,\n                                        \"column\": 32\n                                      },\n                                      \"identifierName\": \"coords\"\n                                    },\n                                    \"name\": \"coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2399,\n                                    \"end\": 2400,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 111,\n                                        \"column\": 33\n                                      },\n                                      \"end\": {\n                                        \"line\": 111,\n                                        \"column\": 34\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 1,\n                                      \"raw\": \"1\"\n                                    },\n                                    \"value\": 1\n                                  },\n                                  \"computed\": true\n                                },\n                                {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 2403,\n                                  \"end\": 2404,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 111,\n                                      \"column\": 37\n                                    },\n                                    \"end\": {\n                                      \"line\": 111,\n                                      \"column\": 38\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 1,\n                                    \"raw\": \"1\"\n                                  },\n                                  \"value\": 1\n                                },\n                                {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 2406,\n                                  \"end\": 2407,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 111,\n                                      \"column\": 40\n                                    },\n                                    \"end\": {\n                                      \"line\": 111,\n                                      \"column\": 41\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 0,\n                                    \"raw\": \"0\"\n                                  },\n                                  \"value\": 0\n                                },\n                                {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 2409,\n                                  \"end\": 2420,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 111,\n                                      \"column\": 43\n                                    },\n                                    \"end\": {\n                                      \"line\": 111,\n                                      \"column\": 54\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 2409,\n                                    \"end\": 2416,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 111,\n                                        \"column\": 43\n                                      },\n                                      \"end\": {\n                                        \"line\": 111,\n                                        \"column\": 50\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 2409,\n                                      \"end\": 2413,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 111,\n                                          \"column\": 43\n                                        },\n                                        \"end\": {\n                                          \"line\": 111,\n                                          \"column\": 47\n                                        },\n                                        \"identifierName\": \"Math\"\n                                      },\n                                      \"name\": \"Math\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 2414,\n                                      \"end\": 2416,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 111,\n                                          \"column\": 48\n                                        },\n                                        \"end\": {\n                                          \"line\": 111,\n                                          \"column\": 50\n                                        },\n                                        \"identifierName\": \"PI\"\n                                      },\n                                      \"name\": \"PI\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"operator\": \"*\",\n                                  \"right\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2419,\n                                    \"end\": 2420,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 111,\n                                        \"column\": 53\n                                      },\n                                      \"end\": {\n                                        \"line\": 111,\n                                        \"column\": 54\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 2,\n                                      \"raw\": \"2\"\n                                    },\n                                    \"value\": 2\n                                  }\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 2434,\n                        \"end\": 2654,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 113,\n                            \"column\": 7\n                          },\n                          \"end\": {\n                            \"line\": 123,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 2439,\n                            \"end\": 2476,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 114,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 114,\n                                \"column\": 40\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 2439,\n                              \"end\": 2475,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 114,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 114,\n                                  \"column\": 39\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2439,\n                                \"end\": 2453,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 114,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 114,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2439,\n                                  \"end\": 2446,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 114,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 114,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"context\"\n                                  },\n                                  \"name\": \"context\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2447,\n                                  \"end\": 2453,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 114,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 114,\n                                      \"column\": 17\n                                    },\n                                    \"identifierName\": \"moveTo\"\n                                  },\n                                  \"name\": \"moveTo\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2454,\n                                  \"end\": 2463,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 114,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 114,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2454,\n                                    \"end\": 2460,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 114,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 114,\n                                        \"column\": 24\n                                      },\n                                      \"identifierName\": \"coords\"\n                                    },\n                                    \"name\": \"coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2461,\n                                    \"end\": 2462,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 114,\n                                        \"column\": 25\n                                      },\n                                      \"end\": {\n                                        \"line\": 114,\n                                        \"column\": 26\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  },\n                                  \"computed\": true\n                                },\n                                {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 2465,\n                                  \"end\": 2474,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 114,\n                                      \"column\": 29\n                                    },\n                                    \"end\": {\n                                      \"line\": 114,\n                                      \"column\": 38\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2465,\n                                    \"end\": 2471,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 114,\n                                        \"column\": 29\n                                      },\n                                      \"end\": {\n                                        \"line\": 114,\n                                        \"column\": 35\n                                      },\n                                      \"identifierName\": \"coords\"\n                                    },\n                                    \"name\": \"coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2472,\n                                    \"end\": 2473,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 114,\n                                        \"column\": 36\n                                      },\n                                      \"end\": {\n                                        \"line\": 114,\n                                        \"column\": 37\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 1,\n                                      \"raw\": \"1\"\n                                    },\n                                    \"value\": 1\n                                  },\n                                  \"computed\": true\n                                }\n                              ]\n                            }\n                          },\n                          {\n                            \"type\": \"ForStatement\",\n                            \"start\": 2481,\n                            \"end\": 2575,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 116,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 118,\n                                \"column\": 4\n                              }\n                            },\n                            \"init\": {\n                              \"type\": \"VariableDeclaration\",\n                              \"start\": 2485,\n                              \"end\": 2494,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 116,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 116,\n                                  \"column\": 16\n                                }\n                              },\n                              \"declarations\": [\n                                {\n                                  \"type\": \"VariableDeclarator\",\n                                  \"start\": 2489,\n                                  \"end\": 2494,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 116,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 116,\n                                      \"column\": 16\n                                    }\n                                  },\n                                  \"id\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 2489,\n                                    \"end\": 2490,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 116,\n                                        \"column\": 11\n                                      },\n                                      \"end\": {\n                                        \"line\": 116,\n                                        \"column\": 12\n                                      },\n                                      \"identifierName\": \"i\"\n                                    },\n                                    \"name\": \"i\"\n                                  },\n                                  \"init\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 2493,\n                                    \"end\": 2494,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 116,\n                                        \"column\": 15\n                                      },\n                                      \"end\": {\n                                        \"line\": 116,\n                                        \"column\": 16\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 2,\n                                      \"raw\": \"2\"\n                                    },\n                                    \"value\": 2\n                                  }\n                                }\n                              ],\n                              \"kind\": \"let\"\n                            },\n                            \"test\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 2496,\n                              \"end\": 2513,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 116,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 116,\n                                  \"column\": 35\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 2496,\n                                \"end\": 2497,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 116,\n                                    \"column\": 18\n                                  },\n                                  \"end\": {\n                                    \"line\": 116,\n                                    \"column\": 19\n                                  },\n                                  \"identifierName\": \"i\"\n                                },\n                                \"name\": \"i\"\n                              },\n                              \"operator\": \"<\",\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2500,\n                                \"end\": 2513,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 116,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 116,\n                                    \"column\": 35\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2500,\n                                  \"end\": 2506,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 116,\n                                      \"column\": 22\n                                    },\n                                    \"end\": {\n                                      \"line\": 116,\n                                      \"column\": 28\n                                    },\n                                    \"identifierName\": \"coords\"\n                                  },\n                                  \"name\": \"coords\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2507,\n                                  \"end\": 2513,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 116,\n                                      \"column\": 29\n                                    },\n                                    \"end\": {\n                                      \"line\": 116,\n                                      \"column\": 35\n                                    },\n                                    \"identifierName\": \"length\"\n                                  },\n                                  \"name\": \"length\"\n                                },\n                                \"computed\": false\n                              }\n                            },\n                            \"update\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 2515,\n                              \"end\": 2521,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 116,\n                                  \"column\": 37\n                                },\n                                \"end\": {\n                                  \"line\": 116,\n                                  \"column\": 43\n                                }\n                              },\n                              \"operator\": \"+=\",\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 2515,\n                                \"end\": 2516,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 116,\n                                    \"column\": 37\n                                  },\n                                  \"end\": {\n                                    \"line\": 116,\n                                    \"column\": 38\n                                  },\n                                  \"identifierName\": \"i\"\n                                },\n                                \"name\": \"i\"\n                              },\n                              \"right\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 2520,\n                                \"end\": 2521,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 116,\n                                    \"column\": 42\n                                  },\n                                  \"end\": {\n                                    \"line\": 116,\n                                    \"column\": 43\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 2,\n                                  \"raw\": \"2\"\n                                },\n                                \"value\": 2\n                              }\n                            },\n                            \"body\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 2523,\n                              \"end\": 2575,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 116,\n                                  \"column\": 45\n                                },\n                                \"end\": {\n                                  \"line\": 118,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 2529,\n                                  \"end\": 2570,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 117,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 117,\n                                      \"column\": 45\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"CallExpression\",\n                                    \"start\": 2529,\n                                    \"end\": 2569,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 117,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 117,\n                                        \"column\": 44\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 2529,\n                                      \"end\": 2543,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 117,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 117,\n                                          \"column\": 18\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 2529,\n                                        \"end\": 2536,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 117,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 117,\n                                            \"column\": 11\n                                          },\n                                          \"identifierName\": \"context\"\n                                        },\n                                        \"name\": \"context\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 2537,\n                                        \"end\": 2543,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 117,\n                                            \"column\": 12\n                                          },\n                                          \"end\": {\n                                            \"line\": 117,\n                                            \"column\": 18\n                                          },\n                                          \"identifierName\": \"lineTo\"\n                                        },\n                                        \"name\": \"lineTo\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"arguments\": [\n                                      {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 2544,\n                                        \"end\": 2553,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 117,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 117,\n                                            \"column\": 28\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 2544,\n                                          \"end\": 2550,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 117,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 117,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"coords\"\n                                          },\n                                          \"name\": \"coords\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 2551,\n                                          \"end\": 2552,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 117,\n                                              \"column\": 26\n                                            },\n                                            \"end\": {\n                                              \"line\": 117,\n                                              \"column\": 27\n                                            },\n                                            \"identifierName\": \"i\"\n                                          },\n                                          \"name\": \"i\"\n                                        },\n                                        \"computed\": true\n                                      },\n                                      {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 2555,\n                                        \"end\": 2568,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 117,\n                                            \"column\": 30\n                                          },\n                                          \"end\": {\n                                            \"line\": 117,\n                                            \"column\": 43\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 2555,\n                                          \"end\": 2561,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 117,\n                                              \"column\": 30\n                                            },\n                                            \"end\": {\n                                              \"line\": 117,\n                                              \"column\": 36\n                                            },\n                                            \"identifierName\": \"coords\"\n                                          },\n                                          \"name\": \"coords\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 2562,\n                                          \"end\": 2567,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 117,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 117,\n                                              \"column\": 42\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 2562,\n                                            \"end\": 2563,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 117,\n                                                \"column\": 37\n                                              },\n                                              \"end\": {\n                                                \"line\": 117,\n                                                \"column\": 38\n                                              },\n                                              \"identifierName\": \"i\"\n                                            },\n                                            \"name\": \"i\"\n                                          },\n                                          \"operator\": \"+\",\n                                          \"right\": {\n                                            \"type\": \"NumericLiteral\",\n                                            \"start\": 2566,\n                                            \"end\": 2567,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 117,\n                                                \"column\": 41\n                                              },\n                                              \"end\": {\n                                                \"line\": 117,\n                                                \"column\": 42\n                                              }\n                                            },\n                                            \"extra\": {\n                                              \"rawValue\": 1,\n                                              \"raw\": \"1\"\n                                            },\n                                            \"value\": 1\n                                          }\n                                        },\n                                        \"computed\": true\n                                      }\n                                    ]\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            }\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 2580,\n                            \"end\": 2650,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 120,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 122,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 2583,\n                              \"end\": 2600,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 120,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 120,\n                                  \"column\": 23\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 2583,\n                                \"end\": 2596,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 120,\n                                    \"column\": 6\n                                  },\n                                  \"end\": {\n                                    \"line\": 120,\n                                    \"column\": 19\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2583,\n                                  \"end\": 2589,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 120,\n                                      \"column\": 6\n                                    },\n                                    \"end\": {\n                                      \"line\": 120,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"coords\"\n                                  },\n                                  \"name\": \"coords\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 2590,\n                                  \"end\": 2596,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 120,\n                                      \"column\": 13\n                                    },\n                                    \"end\": {\n                                      \"line\": 120,\n                                      \"column\": 19\n                                    },\n                                    \"identifierName\": \"length\"\n                                  },\n                                  \"name\": \"length\"\n                                },\n                                \"computed\": false\n                              },\n                              \"operator\": \">\",\n                              \"right\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 2599,\n                                \"end\": 2600,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 120,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 120,\n                                    \"column\": 23\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 4,\n                                  \"raw\": \"4\"\n                                },\n                                \"value\": 4\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 2602,\n                              \"end\": 2650,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 120,\n                                  \"column\": 25\n                                },\n                                \"end\": {\n                                  \"line\": 122,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 2608,\n                                  \"end\": 2645,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 121,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 121,\n                                      \"column\": 41\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"CallExpression\",\n                                    \"start\": 2608,\n                                    \"end\": 2644,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 121,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 121,\n                                        \"column\": 40\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 2608,\n                                      \"end\": 2622,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 121,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 121,\n                                          \"column\": 18\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 2608,\n                                        \"end\": 2615,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 121,\n                                            \"column\": 4\n                                          },\n                                          \"end\": {\n                                            \"line\": 121,\n                                            \"column\": 11\n                                          },\n                                          \"identifierName\": \"context\"\n                                        },\n                                        \"name\": \"context\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 2616,\n                                        \"end\": 2622,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 121,\n                                            \"column\": 12\n                                          },\n                                          \"end\": {\n                                            \"line\": 121,\n                                            \"column\": 18\n                                          },\n                                          \"identifierName\": \"lineTo\"\n                                        },\n                                        \"name\": \"lineTo\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"arguments\": [\n                                      {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 2623,\n                                        \"end\": 2632,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 121,\n                                            \"column\": 19\n                                          },\n                                          \"end\": {\n                                            \"line\": 121,\n                                            \"column\": 28\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 2623,\n                                          \"end\": 2629,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 121,\n                                              \"column\": 19\n                                            },\n                                            \"end\": {\n                                              \"line\": 121,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"coords\"\n                                          },\n                                          \"name\": \"coords\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 2630,\n                                          \"end\": 2631,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 121,\n                                              \"column\": 26\n                                            },\n                                            \"end\": {\n                                              \"line\": 121,\n                                              \"column\": 27\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 0,\n                                            \"raw\": \"0\"\n                                          },\n                                          \"value\": 0\n                                        },\n                                        \"computed\": true\n                                      },\n                                      {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 2634,\n                                        \"end\": 2643,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 121,\n                                            \"column\": 30\n                                          },\n                                          \"end\": {\n                                            \"line\": 121,\n                                            \"column\": 39\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 2634,\n                                          \"end\": 2640,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 121,\n                                              \"column\": 30\n                                            },\n                                            \"end\": {\n                                              \"line\": 121,\n                                              \"column\": 36\n                                            },\n                                            \"identifierName\": \"coords\"\n                                          },\n                                          \"name\": \"coords\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 2641,\n                                          \"end\": 2642,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 121,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 121,\n                                              \"column\": 38\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 1,\n                                            \"raw\": \"1\"\n                                          },\n                                          \"value\": 1\n                                        },\n                                        \"computed\": true\n                                      }\n                                    ]\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Draws the polygon to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the shape to\\n\\t \",\n                    \"start\": 1856,\n                    \"end\": 2009,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 91,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 94,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\\n\\t * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t \",\n                    \"start\": 2660,\n                    \"end\": 2941,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 126,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 129,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 2943,\n                \"end\": 3426,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 130,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 148,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 2943,\n                  \"end\": 2952,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 130,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 130,\n                      \"column\": 10\n                    },\n                    \"identifierName\": \"setPoints\"\n                  },\n                  \"name\": \"setPoints\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [\n                  {\n                    \"type\": \"Identifier\",\n                    \"start\": 2953,\n                    \"end\": 2963,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 130,\n                        \"column\": 11\n                      },\n                      \"end\": {\n                        \"line\": 130,\n                        \"column\": 21\n                      },\n                      \"identifierName\": \"new_points\"\n                    },\n                    \"name\": \"new_points\"\n                  }\n                ],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 2965,\n                  \"end\": 3426,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 130,\n                      \"column\": 23\n                    },\n                    \"end\": {\n                      \"line\": 148,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 2969,\n                      \"end\": 3001,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 131,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 131,\n                          \"column\": 34\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 2975,\n                          \"end\": 3000,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 131,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 131,\n                              \"column\": 33\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 2975,\n                            \"end\": 2980,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 131,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 131,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"count\"\n                            },\n                            \"name\": \"count\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 2983,\n                            \"end\": 3000,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 131,\n                                \"column\": 16\n                              },\n                              \"end\": {\n                                \"line\": 131,\n                                \"column\": 33\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2983,\n                              \"end\": 2993,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 131,\n                                  \"column\": 16\n                                },\n                                \"end\": {\n                                  \"line\": 131,\n                                  \"column\": 26\n                                },\n                                \"identifierName\": \"new_points\"\n                              },\n                              \"name\": \"new_points\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 2994,\n                              \"end\": 3000,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 131,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 131,\n                                  \"column\": 33\n                                },\n                                \"identifierName\": \"length\"\n                              },\n                              \"name\": \"length\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 3005,\n                      \"end\": 3049,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 133,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 133,\n                          \"column\": 46\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 3005,\n                        \"end\": 3048,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 133,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 133,\n                            \"column\": 45\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3005,\n                          \"end\": 3017,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 133,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 133,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3005,\n                            \"end\": 3009,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 133,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 133,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3010,\n                            \"end\": 3017,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 133,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 133,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"_points\"\n                            },\n                            \"name\": \"_points\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 3021,\n                          \"end\": 3048,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 133,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 133,\n                              \"column\": 45\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3025,\n                            \"end\": 3037,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 133,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 133,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"Float64Array\"\n                            },\n                            \"name\": \"Float64Array\"\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 3038,\n                              \"end\": 3047,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 133,\n                                  \"column\": 35\n                                },\n                                \"end\": {\n                                  \"line\": 133,\n                                  \"column\": 44\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 3038,\n                                \"end\": 3043,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 133,\n                                    \"column\": 35\n                                  },\n                                  \"end\": {\n                                    \"line\": 133,\n                                    \"column\": 40\n                                  },\n                                  \"identifierName\": \"count\"\n                                },\n                                \"name\": \"count\"\n                              },\n                              \"operator\": \"*\",\n                              \"right\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 3046,\n                                \"end\": 3047,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 133,\n                                    \"column\": 43\n                                  },\n                                  \"end\": {\n                                    \"line\": 133,\n                                    \"column\": 44\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 2,\n                                  \"raw\": \"2\"\n                                },\n                                \"value\": 2\n                              }\n                            }\n                          ]\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 3052,\n                      \"end\": 3096,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 134,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 134,\n                          \"column\": 46\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 3052,\n                        \"end\": 3095,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 134,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 134,\n                            \"column\": 45\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3052,\n                          \"end\": 3064,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 134,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 134,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3052,\n                            \"end\": 3056,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 134,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 134,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3057,\n                            \"end\": 3064,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 134,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 134,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"_coords\"\n                            },\n                            \"name\": \"_coords\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 3068,\n                          \"end\": 3095,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 134,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 134,\n                              \"column\": 45\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3072,\n                            \"end\": 3084,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 134,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 134,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"Float64Array\"\n                            },\n                            \"name\": \"Float64Array\"\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 3085,\n                              \"end\": 3094,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 134,\n                                  \"column\": 35\n                                },\n                                \"end\": {\n                                  \"line\": 134,\n                                  \"column\": 44\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 3085,\n                                \"end\": 3090,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 134,\n                                    \"column\": 35\n                                  },\n                                  \"end\": {\n                                    \"line\": 134,\n                                    \"column\": 40\n                                  },\n                                  \"identifierName\": \"count\"\n                                },\n                                \"name\": \"count\"\n                              },\n                              \"operator\": \"*\",\n                              \"right\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 3093,\n                                \"end\": 3094,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 134,\n                                    \"column\": 43\n                                  },\n                                  \"end\": {\n                                    \"line\": 134,\n                                    \"column\": 44\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 2,\n                                  \"raw\": \"2\"\n                                },\n                                \"value\": 2\n                              }\n                            }\n                          ]\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 3099,\n                      \"end\": 3143,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 135,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 135,\n                          \"column\": 46\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 3099,\n                        \"end\": 3142,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 135,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 135,\n                            \"column\": 45\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3099,\n                          \"end\": 3110,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 135,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 135,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3099,\n                            \"end\": 3103,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 135,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 135,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3104,\n                            \"end\": 3110,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 135,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 135,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_edges\"\n                            },\n                            \"name\": \"_edges\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 3115,\n                          \"end\": 3142,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 135,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 135,\n                              \"column\": 45\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3119,\n                            \"end\": 3131,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 135,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 135,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"Float64Array\"\n                            },\n                            \"name\": \"Float64Array\"\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 3132,\n                              \"end\": 3141,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 135,\n                                  \"column\": 35\n                                },\n                                \"end\": {\n                                  \"line\": 135,\n                                  \"column\": 44\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 3132,\n                                \"end\": 3137,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 135,\n                                    \"column\": 35\n                                  },\n                                  \"end\": {\n                                    \"line\": 135,\n                                    \"column\": 40\n                                  },\n                                  \"identifierName\": \"count\"\n                                },\n                                \"name\": \"count\"\n                              },\n                              \"operator\": \"*\",\n                              \"right\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 3140,\n                                \"end\": 3141,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 135,\n                                    \"column\": 43\n                                  },\n                                  \"end\": {\n                                    \"line\": 135,\n                                    \"column\": 44\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 2,\n                                  \"raw\": \"2\"\n                                },\n                                \"value\": 2\n                              }\n                            }\n                          ]\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 3146,\n                      \"end\": 3190,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 136,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 136,\n                          \"column\": 46\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 3146,\n                        \"end\": 3189,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 136,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 136,\n                            \"column\": 45\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3146,\n                          \"end\": 3159,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 136,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 136,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3146,\n                            \"end\": 3150,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 136,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 136,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3151,\n                            \"end\": 3159,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 136,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 136,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_normals\"\n                            },\n                            \"name\": \"_normals\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"NewExpression\",\n                          \"start\": 3162,\n                          \"end\": 3189,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 136,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 136,\n                              \"column\": 45\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3166,\n                            \"end\": 3178,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 136,\n                                \"column\": 22\n                              },\n                              \"end\": {\n                                \"line\": 136,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"Float64Array\"\n                            },\n                            \"name\": \"Float64Array\"\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 3179,\n                              \"end\": 3188,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 136,\n                                  \"column\": 35\n                                },\n                                \"end\": {\n                                  \"line\": 136,\n                                  \"column\": 44\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 3179,\n                                \"end\": 3184,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 136,\n                                    \"column\": 35\n                                  },\n                                  \"end\": {\n                                    \"line\": 136,\n                                    \"column\": 40\n                                  },\n                                  \"identifierName\": \"count\"\n                                },\n                                \"name\": \"count\"\n                              },\n                              \"operator\": \"*\",\n                              \"right\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 3187,\n                                \"end\": 3188,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 136,\n                                    \"column\": 43\n                                  },\n                                  \"end\": {\n                                    \"line\": 136,\n                                    \"column\": 44\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 2,\n                                  \"raw\": \"2\"\n                                },\n                                \"value\": 2\n                              }\n                            }\n                          ]\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3194,\n                      \"end\": 3222,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 138,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 138,\n                          \"column\": 30\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3200,\n                          \"end\": 3221,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 138,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 138,\n                              \"column\": 29\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3200,\n                            \"end\": 3206,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 138,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 138,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"points\"\n                            },\n                            \"name\": \"points\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3209,\n                            \"end\": 3221,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 138,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 138,\n                                \"column\": 29\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3209,\n                              \"end\": 3213,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 138,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 138,\n                                  \"column\": 21\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3214,\n                              \"end\": 3221,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 138,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 138,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"_points\"\n                              },\n                              \"name\": \"_points\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ForStatement\",\n                      \"start\": 3226,\n                      \"end\": 3393,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 140,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 145,\n                          \"column\": 3\n                        }\n                      },\n                      \"init\": {\n                        \"type\": \"VariableDeclaration\",\n                        \"start\": 3230,\n                        \"end\": 3255,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 140,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 140,\n                            \"column\": 31\n                          }\n                        },\n                        \"declarations\": [\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 3234,\n                            \"end\": 3239,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 15\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3234,\n                              \"end\": 3235,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 10\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"i\"\n                              },\n                              \"name\": \"i\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3238,\n                              \"end\": 3239,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 15\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          },\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 3241,\n                            \"end\": 3247,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 23\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3241,\n                              \"end\": 3243,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 19\n                                },\n                                \"identifierName\": \"ix\"\n                              },\n                              \"name\": \"ix\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3246,\n                              \"end\": 3247,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 23\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          },\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 3249,\n                            \"end\": 3255,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 25\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 31\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3249,\n                              \"end\": 3251,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 25\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 27\n                                },\n                                \"identifierName\": \"iy\"\n                              },\n                              \"name\": \"iy\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3254,\n                              \"end\": 3255,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 30\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 31\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 1,\n                                \"raw\": \"1\"\n                              },\n                              \"value\": 1\n                            }\n                          }\n                        ],\n                        \"kind\": \"let\"\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 3257,\n                        \"end\": 3266,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 140,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 140,\n                            \"column\": 42\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3257,\n                          \"end\": 3258,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 140,\n                              \"column\": 33\n                            },\n                            \"end\": {\n                              \"line\": 140,\n                              \"column\": 34\n                            },\n                            \"identifierName\": \"i\"\n                          },\n                          \"name\": \"i\"\n                        },\n                        \"operator\": \"<\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3261,\n                          \"end\": 3266,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 140,\n                              \"column\": 37\n                            },\n                            \"end\": {\n                              \"line\": 140,\n                              \"column\": 42\n                            },\n                            \"identifierName\": \"count\"\n                          },\n                          \"name\": \"count\"\n                        }\n                      },\n                      \"update\": {\n                        \"type\": \"SequenceExpression\",\n                        \"start\": 3268,\n                        \"end\": 3289,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 140,\n                            \"column\": 44\n                          },\n                          \"end\": {\n                            \"line\": 140,\n                            \"column\": 65\n                          }\n                        },\n                        \"expressions\": [\n                          {\n                            \"type\": \"UpdateExpression\",\n                            \"start\": 3268,\n                            \"end\": 3271,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 44\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 47\n                              }\n                            },\n                            \"operator\": \"++\",\n                            \"prefix\": true,\n                            \"argument\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3270,\n                              \"end\": 3271,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 46\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 47\n                                },\n                                \"identifierName\": \"i\"\n                              },\n                              \"name\": \"i\"\n                            },\n                            \"extra\": {\n                              \"parenthesizedArgument\": false\n                            }\n                          },\n                          {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 3273,\n                            \"end\": 3280,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 49\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 56\n                              }\n                            },\n                            \"operator\": \"+=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3273,\n                              \"end\": 3275,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 49\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 51\n                                },\n                                \"identifierName\": \"ix\"\n                              },\n                              \"name\": \"ix\"\n                            },\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3279,\n                              \"end\": 3280,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 55\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 56\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 2,\n                                \"raw\": \"2\"\n                              },\n                              \"value\": 2\n                            }\n                          },\n                          {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 3282,\n                            \"end\": 3289,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 58\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 65\n                              }\n                            },\n                            \"operator\": \"+=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3282,\n                              \"end\": 3284,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 58\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 60\n                                },\n                                \"identifierName\": \"iy\"\n                              },\n                              \"name\": \"iy\"\n                            },\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3288,\n                              \"end\": 3289,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 140,\n                                  \"column\": 64\n                                },\n                                \"end\": {\n                                  \"line\": 140,\n                                  \"column\": 65\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 2,\n                                \"raw\": \"2\"\n                              },\n                              \"value\": 2\n                            }\n                          }\n                        ]\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 3291,\n                        \"end\": 3393,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 140,\n                            \"column\": 67\n                          },\n                          \"end\": {\n                            \"line\": 145,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 3296,\n                            \"end\": 3328,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 141,\n                                \"column\": 35\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 3302,\n                                \"end\": 3327,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 141,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 141,\n                                    \"column\": 34\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3302,\n                                  \"end\": 3311,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 141,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 141,\n                                      \"column\": 18\n                                    },\n                                    \"identifierName\": \"new_point\"\n                                  },\n                                  \"name\": \"new_point\"\n                                },\n                                \"init\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 3314,\n                                  \"end\": 3327,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 141,\n                                      \"column\": 21\n                                    },\n                                    \"end\": {\n                                      \"line\": 141,\n                                      \"column\": 34\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 3314,\n                                    \"end\": 3324,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 141,\n                                        \"column\": 21\n                                      },\n                                      \"end\": {\n                                        \"line\": 141,\n                                        \"column\": 31\n                                      },\n                                      \"identifierName\": \"new_points\"\n                                    },\n                                    \"name\": \"new_points\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 3325,\n                                    \"end\": 3326,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 141,\n                                        \"column\": 32\n                                      },\n                                      \"end\": {\n                                        \"line\": 141,\n                                        \"column\": 33\n                                      },\n                                      \"identifierName\": \"i\"\n                                    },\n                                    \"name\": \"i\"\n                                  },\n                                  \"computed\": true\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 3333,\n                            \"end\": 3359,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 143,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 143,\n                                \"column\": 29\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 3333,\n                              \"end\": 3358,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 143,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 143,\n                                  \"column\": 28\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3333,\n                                \"end\": 3343,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 143,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 143,\n                                    \"column\": 13\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3333,\n                                  \"end\": 3339,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 143,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 143,\n                                      \"column\": 9\n                                    },\n                                    \"identifierName\": \"points\"\n                                  },\n                                  \"name\": \"points\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3340,\n                                  \"end\": 3342,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 143,\n                                      \"column\": 10\n                                    },\n                                    \"end\": {\n                                      \"line\": 143,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"ix\"\n                                  },\n                                  \"name\": \"ix\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3346,\n                                \"end\": 3358,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 143,\n                                    \"column\": 16\n                                  },\n                                  \"end\": {\n                                    \"line\": 143,\n                                    \"column\": 28\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3346,\n                                  \"end\": 3355,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 143,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 143,\n                                      \"column\": 25\n                                    },\n                                    \"identifierName\": \"new_point\"\n                                  },\n                                  \"name\": \"new_point\"\n                                },\n                                \"property\": {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 3356,\n                                  \"end\": 3357,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 143,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 143,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 0,\n                                    \"raw\": \"0\"\n                                  },\n                                  \"value\": 0\n                                },\n                                \"computed\": true\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 3363,\n                            \"end\": 3389,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 144,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 144,\n                                \"column\": 29\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 3363,\n                              \"end\": 3388,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 144,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 144,\n                                  \"column\": 28\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3363,\n                                \"end\": 3373,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 144,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 144,\n                                    \"column\": 13\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3363,\n                                  \"end\": 3369,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 144,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 144,\n                                      \"column\": 9\n                                    },\n                                    \"identifierName\": \"points\"\n                                  },\n                                  \"name\": \"points\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3370,\n                                  \"end\": 3372,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 144,\n                                      \"column\": 10\n                                    },\n                                    \"end\": {\n                                      \"line\": 144,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"iy\"\n                                  },\n                                  \"name\": \"iy\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3376,\n                                \"end\": 3388,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 144,\n                                    \"column\": 16\n                                  },\n                                  \"end\": {\n                                    \"line\": 144,\n                                    \"column\": 28\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3376,\n                                  \"end\": 3385,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 144,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 144,\n                                      \"column\": 25\n                                    },\n                                    \"identifierName\": \"new_point\"\n                                  },\n                                  \"name\": \"new_point\"\n                                },\n                                \"property\": {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 3386,\n                                  \"end\": 3387,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 144,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 144,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 1,\n                                    \"raw\": \"1\"\n                                  },\n                                  \"value\": 1\n                                },\n                                \"computed\": true\n                              }\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 3397,\n                      \"end\": 3423,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 147,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 147,\n                          \"column\": 28\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 3397,\n                        \"end\": 3422,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 147,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 147,\n                            \"column\": 27\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3397,\n                          \"end\": 3415,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 147,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 147,\n                              \"column\": 20\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 3397,\n                            \"end\": 3401,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 147,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 147,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3402,\n                            \"end\": 3415,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 147,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 147,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"_dirty_coords\"\n                            },\n                            \"name\": \"_dirty_coords\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 3418,\n                          \"end\": 3422,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 147,\n                              \"column\": 23\n                            },\n                            \"end\": {\n                              \"line\": 147,\n                              \"column\": 27\n                            }\n                          },\n                          \"value\": true\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\\n\\t * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t \",\n                    \"start\": 2660,\n                    \"end\": 2941,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 126,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 129,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\\n\\t \",\n                    \"start\": 3429,\n                    \"end\": 3533,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 150,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 152,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 3535,\n                \"end\": 4970,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 153,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 220,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 3535,\n                  \"end\": 3551,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 153,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 153,\n                      \"column\": 17\n                    },\n                    \"identifierName\": \"_calculateCoords\"\n                  },\n                  \"name\": \"_calculateCoords\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 3554,\n                  \"end\": 4970,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 153,\n                      \"column\": 20\n                    },\n                    \"end\": {\n                      \"line\": 220,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3558,\n                      \"end\": 3581,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 154,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 154,\n                          \"column\": 25\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3564,\n                          \"end\": 3580,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 154,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 154,\n                              \"column\": 24\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3564,\n                            \"end\": 3565,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 154,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 154,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"x\"\n                            },\n                            \"name\": \"x\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3574,\n                            \"end\": 3580,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 154,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 154,\n                                \"column\": 24\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3574,\n                              \"end\": 3578,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 154,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 154,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3579,\n                              \"end\": 3580,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 154,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 154,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3584,\n                      \"end\": 3607,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 155,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 155,\n                          \"column\": 25\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3590,\n                          \"end\": 3606,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 155,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 155,\n                              \"column\": 24\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3590,\n                            \"end\": 3591,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 155,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 155,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"y\"\n                            },\n                            \"name\": \"y\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3600,\n                            \"end\": 3606,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 155,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 155,\n                                \"column\": 24\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3600,\n                              \"end\": 3604,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 155,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 155,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3605,\n                              \"end\": 3606,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 155,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 155,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3610,\n                      \"end\": 3637,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 156,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 156,\n                          \"column\": 29\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3616,\n                          \"end\": 3636,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 156,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 156,\n                              \"column\": 28\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3616,\n                            \"end\": 3621,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 156,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 156,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"angle\"\n                            },\n                            \"name\": \"angle\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3626,\n                            \"end\": 3636,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 156,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 156,\n                                \"column\": 28\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3626,\n                              \"end\": 3630,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 156,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 156,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3631,\n                              \"end\": 3636,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 156,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 156,\n                                  \"column\": 28\n                                },\n                                \"identifierName\": \"angle\"\n                              },\n                              \"name\": \"angle\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3640,\n                      \"end\": 3669,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 157,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 157,\n                          \"column\": 31\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3646,\n                          \"end\": 3668,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 157,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 157,\n                              \"column\": 30\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3646,\n                            \"end\": 3653,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 157,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 157,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"scale_x\"\n                            },\n                            \"name\": \"scale_x\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3656,\n                            \"end\": 3668,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 157,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 157,\n                                \"column\": 30\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3656,\n                              \"end\": 3660,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 157,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 157,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3661,\n                              \"end\": 3668,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 157,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 157,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"scale_x\"\n                              },\n                              \"name\": \"scale_x\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3672,\n                      \"end\": 3701,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 158,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 158,\n                          \"column\": 31\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3678,\n                          \"end\": 3700,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 158,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 158,\n                              \"column\": 30\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3678,\n                            \"end\": 3685,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 158,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 158,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"scale_y\"\n                            },\n                            \"name\": \"scale_y\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3688,\n                            \"end\": 3700,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 158,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 158,\n                                \"column\": 30\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3688,\n                              \"end\": 3692,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 158,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 158,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3693,\n                              \"end\": 3700,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 158,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 158,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"scale_y\"\n                              },\n                              \"name\": \"scale_y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3704,\n                      \"end\": 3733,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 159,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 159,\n                          \"column\": 31\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3710,\n                          \"end\": 3732,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 159,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 159,\n                              \"column\": 30\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3710,\n                            \"end\": 3716,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 159,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 159,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"points\"\n                            },\n                            \"name\": \"points\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3720,\n                            \"end\": 3732,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 159,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 159,\n                                \"column\": 30\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3720,\n                              \"end\": 3724,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 159,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 159,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3725,\n                              \"end\": 3732,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 159,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 159,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"_points\"\n                              },\n                              \"name\": \"_points\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3736,\n                      \"end\": 3765,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 160,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 160,\n                          \"column\": 31\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3742,\n                          \"end\": 3764,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 160,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 160,\n                              \"column\": 30\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3742,\n                            \"end\": 3748,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 160,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 160,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"coords\"\n                            },\n                            \"name\": \"coords\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3752,\n                            \"end\": 3764,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 160,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 160,\n                                \"column\": 30\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 3752,\n                              \"end\": 3756,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 160,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 160,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3757,\n                              \"end\": 3764,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 160,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 160,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"_coords\"\n                              },\n                              \"name\": \"_coords\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3768,\n                      \"end\": 3798,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 161,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 161,\n                          \"column\": 32\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3774,\n                          \"end\": 3797,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 161,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 161,\n                              \"column\": 31\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3774,\n                            \"end\": 3779,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 161,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 161,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"count\"\n                            },\n                            \"name\": \"count\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 3784,\n                            \"end\": 3797,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 161,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 161,\n                                \"column\": 31\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3784,\n                              \"end\": 3790,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 161,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 161,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"points\"\n                              },\n                              \"name\": \"points\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3791,\n                              \"end\": 3797,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 161,\n                                  \"column\": 25\n                                },\n                                \"end\": {\n                                  \"line\": 161,\n                                  \"column\": 31\n                                },\n                                \"identifierName\": \"length\"\n                              },\n                              \"name\": \"length\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3802,\n                      \"end\": 3812,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 163,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 163,\n                          \"column\": 12\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3806,\n                          \"end\": 3811,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 163,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 163,\n                              \"column\": 11\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3806,\n                            \"end\": 3811,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 163,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 163,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"min_x\"\n                            },\n                            \"name\": \"min_x\"\n                          },\n                          \"init\": null\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3815,\n                      \"end\": 3825,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 164,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 164,\n                          \"column\": 12\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3819,\n                          \"end\": 3824,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 164,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 164,\n                              \"column\": 11\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3819,\n                            \"end\": 3824,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 164,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 164,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"max_x\"\n                            },\n                            \"name\": \"max_x\"\n                          },\n                          \"init\": null\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3828,\n                      \"end\": 3838,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 165,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 165,\n                          \"column\": 12\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3832,\n                          \"end\": 3837,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 165,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 165,\n                              \"column\": 11\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3832,\n                            \"end\": 3837,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 165,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 165,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"min_y\"\n                            },\n                            \"name\": \"min_y\"\n                          },\n                          \"init\": null\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3841,\n                      \"end\": 3851,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 166,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 166,\n                          \"column\": 12\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3845,\n                          \"end\": 3850,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 166,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 166,\n                              \"column\": 11\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3845,\n                            \"end\": 3850,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 166,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 166,\n                                \"column\": 11\n                              },\n                              \"identifierName\": \"max_y\"\n                            },\n                            \"name\": \"max_y\"\n                          },\n                          \"init\": null\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    {\n                      \"type\": \"ForStatement\",\n                      \"start\": 3855,\n                      \"end\": 4630,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 168,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 207,\n                          \"column\": 3\n                        }\n                      },\n                      \"init\": {\n                        \"type\": \"VariableDeclaration\",\n                        \"start\": 3859,\n                        \"end\": 3877,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 168,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 168,\n                            \"column\": 24\n                          }\n                        },\n                        \"declarations\": [\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 3863,\n                            \"end\": 3869,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 168,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 168,\n                                \"column\": 16\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3863,\n                              \"end\": 3865,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 10\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"ix\"\n                              },\n                              \"name\": \"ix\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3868,\n                              \"end\": 3869,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 16\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          },\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 3871,\n                            \"end\": 3877,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 168,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 168,\n                                \"column\": 24\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3871,\n                              \"end\": 3873,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 20\n                                },\n                                \"identifierName\": \"iy\"\n                              },\n                              \"name\": \"iy\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3876,\n                              \"end\": 3877,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 24\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 1,\n                                \"raw\": \"1\"\n                              },\n                              \"value\": 1\n                            }\n                          }\n                        ],\n                        \"kind\": \"let\"\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 3879,\n                        \"end\": 3889,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 168,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 168,\n                            \"column\": 36\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3879,\n                          \"end\": 3881,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 168,\n                              \"column\": 26\n                            },\n                            \"end\": {\n                              \"line\": 168,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"ix\"\n                          },\n                          \"name\": \"ix\"\n                        },\n                        \"operator\": \"<\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3884,\n                          \"end\": 3889,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 168,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 168,\n                              \"column\": 36\n                            },\n                            \"identifierName\": \"count\"\n                          },\n                          \"name\": \"count\"\n                        }\n                      },\n                      \"update\": {\n                        \"type\": \"SequenceExpression\",\n                        \"start\": 3891,\n                        \"end\": 3907,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 168,\n                            \"column\": 38\n                          },\n                          \"end\": {\n                            \"line\": 168,\n                            \"column\": 54\n                          }\n                        },\n                        \"expressions\": [\n                          {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 3891,\n                            \"end\": 3898,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 168,\n                                \"column\": 38\n                              },\n                              \"end\": {\n                                \"line\": 168,\n                                \"column\": 45\n                              }\n                            },\n                            \"operator\": \"+=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3891,\n                              \"end\": 3893,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 38\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 40\n                                },\n                                \"identifierName\": \"ix\"\n                              },\n                              \"name\": \"ix\"\n                            },\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3897,\n                              \"end\": 3898,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 44\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 45\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 2,\n                                \"raw\": \"2\"\n                              },\n                              \"value\": 2\n                            }\n                          },\n                          {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 3900,\n                            \"end\": 3907,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 168,\n                                \"column\": 47\n                              },\n                              \"end\": {\n                                \"line\": 168,\n                                \"column\": 54\n                              }\n                            },\n                            \"operator\": \"+=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3900,\n                              \"end\": 3902,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 47\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 49\n                                },\n                                \"identifierName\": \"iy\"\n                              },\n                              \"name\": \"iy\"\n                            },\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3906,\n                              \"end\": 3907,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 168,\n                                  \"column\": 53\n                                },\n                                \"end\": {\n                                  \"line\": 168,\n                                  \"column\": 54\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 2,\n                                \"raw\": \"2\"\n                              },\n                              \"value\": 2\n                            }\n                          }\n                        ]\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 3909,\n                        \"end\": 4630,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 168,\n                            \"column\": 56\n                          },\n                          \"end\": {\n                            \"line\": 207,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 3914,\n                            \"end\": 3949,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 169,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 169,\n                                \"column\": 38\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 3918,\n                                \"end\": 3948,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 169,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 169,\n                                    \"column\": 37\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3918,\n                                  \"end\": 3925,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 169,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 169,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"coord_x\"\n                                  },\n                                  \"name\": \"coord_x\"\n                                },\n                                \"init\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 3928,\n                                  \"end\": 3948,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 169,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 169,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 3928,\n                                    \"end\": 3938,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 169,\n                                        \"column\": 17\n                                      },\n                                      \"end\": {\n                                        \"line\": 169,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 3928,\n                                      \"end\": 3934,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 169,\n                                          \"column\": 17\n                                        },\n                                        \"end\": {\n                                          \"line\": 169,\n                                          \"column\": 23\n                                        },\n                                        \"identifierName\": \"points\"\n                                      },\n                                      \"name\": \"points\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 3935,\n                                      \"end\": 3937,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 169,\n                                          \"column\": 24\n                                        },\n                                        \"end\": {\n                                          \"line\": 169,\n                                          \"column\": 26\n                                        },\n                                        \"identifierName\": \"ix\"\n                                      },\n                                      \"name\": \"ix\"\n                                    },\n                                    \"computed\": true\n                                  },\n                                  \"operator\": \"*\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 3941,\n                                    \"end\": 3948,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 169,\n                                        \"column\": 30\n                                      },\n                                      \"end\": {\n                                        \"line\": 169,\n                                        \"column\": 37\n                                      },\n                                      \"identifierName\": \"scale_x\"\n                                    },\n                                    \"name\": \"scale_x\"\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"let\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 3953,\n                            \"end\": 3988,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 170,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 170,\n                                \"column\": 38\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 3957,\n                                \"end\": 3987,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 170,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 170,\n                                    \"column\": 37\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3957,\n                                  \"end\": 3964,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 170,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 170,\n                                      \"column\": 14\n                                    },\n                                    \"identifierName\": \"coord_y\"\n                                  },\n                                  \"name\": \"coord_y\"\n                                },\n                                \"init\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 3967,\n                                  \"end\": 3987,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 170,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 170,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 3967,\n                                    \"end\": 3977,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 170,\n                                        \"column\": 17\n                                      },\n                                      \"end\": {\n                                        \"line\": 170,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 3967,\n                                      \"end\": 3973,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 170,\n                                          \"column\": 17\n                                        },\n                                        \"end\": {\n                                          \"line\": 170,\n                                          \"column\": 23\n                                        },\n                                        \"identifierName\": \"points\"\n                                      },\n                                      \"name\": \"points\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 3974,\n                                      \"end\": 3976,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 170,\n                                          \"column\": 24\n                                        },\n                                        \"end\": {\n                                          \"line\": 170,\n                                          \"column\": 26\n                                        },\n                                        \"identifierName\": \"iy\"\n                                      },\n                                      \"name\": \"iy\"\n                                    },\n                                    \"computed\": true\n                                  },\n                                  \"operator\": \"*\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 3980,\n                                    \"end\": 3987,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 170,\n                                        \"column\": 30\n                                      },\n                                      \"end\": {\n                                        \"line\": 170,\n                                        \"column\": 37\n                                      },\n                                      \"identifierName\": \"scale_y\"\n                                    },\n                                    \"name\": \"scale_y\"\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"let\"\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 3993,\n                            \"end\": 4216,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 172,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 180,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3996,\n                              \"end\": 4001,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 172,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 172,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"angle\"\n                              },\n                              \"name\": \"angle\"\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 4003,\n                              \"end\": 4216,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 172,\n                                  \"column\": 13\n                                },\n                                \"end\": {\n                                  \"line\": 180,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 4009,\n                                  \"end\": 4039,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 173,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 173,\n                                      \"column\": 34\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 4015,\n                                      \"end\": 4038,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 173,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 173,\n                                          \"column\": 33\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4015,\n                                        \"end\": 4018,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 173,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 173,\n                                            \"column\": 13\n                                          },\n                                          \"identifierName\": \"cos\"\n                                        },\n                                        \"name\": \"cos\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"CallExpression\",\n                                        \"start\": 4023,\n                                        \"end\": 4038,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 173,\n                                            \"column\": 18\n                                          },\n                                          \"end\": {\n                                            \"line\": 173,\n                                            \"column\": 33\n                                          }\n                                        },\n                                        \"callee\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 4023,\n                                          \"end\": 4031,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 173,\n                                              \"column\": 18\n                                            },\n                                            \"end\": {\n                                              \"line\": 173,\n                                              \"column\": 26\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4023,\n                                            \"end\": 4027,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 173,\n                                                \"column\": 18\n                                              },\n                                              \"end\": {\n                                                \"line\": 173,\n                                                \"column\": 22\n                                              },\n                                              \"identifierName\": \"Math\"\n                                            },\n                                            \"name\": \"Math\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4028,\n                                            \"end\": 4031,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 173,\n                                                \"column\": 23\n                                              },\n                                              \"end\": {\n                                                \"line\": 173,\n                                                \"column\": 26\n                                              },\n                                              \"identifierName\": \"cos\"\n                                            },\n                                            \"name\": \"cos\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"arguments\": [\n                                          {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4032,\n                                            \"end\": 4037,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 173,\n                                                \"column\": 27\n                                              },\n                                              \"end\": {\n                                                \"line\": 173,\n                                                \"column\": 32\n                                              },\n                                              \"identifierName\": \"angle\"\n                                            },\n                                            \"name\": \"angle\"\n                                          }\n                                        ]\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 4044,\n                                  \"end\": 4074,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 174,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 174,\n                                      \"column\": 34\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 4050,\n                                      \"end\": 4073,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 174,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 174,\n                                          \"column\": 33\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4050,\n                                        \"end\": 4053,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 174,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 174,\n                                            \"column\": 13\n                                          },\n                                          \"identifierName\": \"sin\"\n                                        },\n                                        \"name\": \"sin\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"CallExpression\",\n                                        \"start\": 4058,\n                                        \"end\": 4073,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 174,\n                                            \"column\": 18\n                                          },\n                                          \"end\": {\n                                            \"line\": 174,\n                                            \"column\": 33\n                                          }\n                                        },\n                                        \"callee\": {\n                                          \"type\": \"MemberExpression\",\n                                          \"start\": 4058,\n                                          \"end\": 4066,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 174,\n                                              \"column\": 18\n                                            },\n                                            \"end\": {\n                                              \"line\": 174,\n                                              \"column\": 26\n                                            }\n                                          },\n                                          \"object\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4058,\n                                            \"end\": 4062,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 174,\n                                                \"column\": 18\n                                              },\n                                              \"end\": {\n                                                \"line\": 174,\n                                                \"column\": 22\n                                              },\n                                              \"identifierName\": \"Math\"\n                                            },\n                                            \"name\": \"Math\"\n                                          },\n                                          \"property\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4063,\n                                            \"end\": 4066,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 174,\n                                                \"column\": 23\n                                              },\n                                              \"end\": {\n                                                \"line\": 174,\n                                                \"column\": 26\n                                              },\n                                              \"identifierName\": \"sin\"\n                                            },\n                                            \"name\": \"sin\"\n                                          },\n                                          \"computed\": false\n                                        },\n                                        \"arguments\": [\n                                          {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4067,\n                                            \"end\": 4072,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 174,\n                                                \"column\": 27\n                                              },\n                                              \"end\": {\n                                                \"line\": 174,\n                                                \"column\": 32\n                                              },\n                                              \"identifierName\": \"angle\"\n                                            },\n                                            \"name\": \"angle\"\n                                          }\n                                        ]\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 4079,\n                                  \"end\": 4101,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 175,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 175,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 4085,\n                                      \"end\": 4100,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 175,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 175,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4085,\n                                        \"end\": 4090,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 175,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 175,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"tmp_x\"\n                                        },\n                                        \"name\": \"tmp_x\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4093,\n                                        \"end\": 4100,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 175,\n                                            \"column\": 18\n                                          },\n                                          \"end\": {\n                                            \"line\": 175,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"coord_x\"\n                                        },\n                                        \"name\": \"coord_x\"\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"VariableDeclaration\",\n                                  \"start\": 4106,\n                                  \"end\": 4128,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 176,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 176,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"declarations\": [\n                                    {\n                                      \"type\": \"VariableDeclarator\",\n                                      \"start\": 4112,\n                                      \"end\": 4127,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 176,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 176,\n                                          \"column\": 25\n                                        }\n                                      },\n                                      \"id\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4112,\n                                        \"end\": 4117,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 176,\n                                            \"column\": 10\n                                          },\n                                          \"end\": {\n                                            \"line\": 176,\n                                            \"column\": 15\n                                          },\n                                          \"identifierName\": \"tmp_y\"\n                                        },\n                                        \"name\": \"tmp_y\"\n                                      },\n                                      \"init\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4120,\n                                        \"end\": 4127,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 176,\n                                            \"column\": 18\n                                          },\n                                          \"end\": {\n                                            \"line\": 176,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"coord_y\"\n                                        },\n                                        \"name\": \"coord_y\"\n                                      }\n                                    }\n                                  ],\n                                  \"kind\": \"const\"\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 4134,\n                                  \"end\": 4170,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 178,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 178,\n                                      \"column\": 40\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 4134,\n                                    \"end\": 4169,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 178,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 178,\n                                        \"column\": 39\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4134,\n                                      \"end\": 4141,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 178,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 178,\n                                          \"column\": 11\n                                        },\n                                        \"identifierName\": \"coord_x\"\n                                      },\n                                      \"name\": \"coord_x\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 4144,\n                                      \"end\": 4169,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 178,\n                                          \"column\": 14\n                                        },\n                                        \"end\": {\n                                          \"line\": 178,\n                                          \"column\": 39\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 4144,\n                                        \"end\": 4155,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 178,\n                                            \"column\": 14\n                                          },\n                                          \"end\": {\n                                            \"line\": 178,\n                                            \"column\": 25\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4144,\n                                          \"end\": 4149,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 178,\n                                              \"column\": 14\n                                            },\n                                            \"end\": {\n                                              \"line\": 178,\n                                              \"column\": 19\n                                            },\n                                            \"identifierName\": \"tmp_x\"\n                                          },\n                                          \"name\": \"tmp_x\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4152,\n                                          \"end\": 4155,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 178,\n                                              \"column\": 22\n                                            },\n                                            \"end\": {\n                                              \"line\": 178,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"cos\"\n                                          },\n                                          \"name\": \"cos\"\n                                        }\n                                      },\n                                      \"operator\": \"-\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 4158,\n                                        \"end\": 4169,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 178,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 178,\n                                            \"column\": 39\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4158,\n                                          \"end\": 4163,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 178,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 178,\n                                              \"column\": 33\n                                            },\n                                            \"identifierName\": \"tmp_y\"\n                                          },\n                                          \"name\": \"tmp_y\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4166,\n                                          \"end\": 4169,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 178,\n                                              \"column\": 36\n                                            },\n                                            \"end\": {\n                                              \"line\": 178,\n                                              \"column\": 39\n                                            },\n                                            \"identifierName\": \"sin\"\n                                          },\n                                          \"name\": \"sin\"\n                                        }\n                                      }\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 4175,\n                                  \"end\": 4211,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 179,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 179,\n                                      \"column\": 40\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 4175,\n                                    \"end\": 4210,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 179,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 179,\n                                        \"column\": 39\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4175,\n                                      \"end\": 4182,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 179,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 179,\n                                          \"column\": 11\n                                        },\n                                        \"identifierName\": \"coord_y\"\n                                      },\n                                      \"name\": \"coord_y\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 4185,\n                                      \"end\": 4210,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 179,\n                                          \"column\": 14\n                                        },\n                                        \"end\": {\n                                          \"line\": 179,\n                                          \"column\": 39\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 4185,\n                                        \"end\": 4196,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 179,\n                                            \"column\": 14\n                                          },\n                                          \"end\": {\n                                            \"line\": 179,\n                                            \"column\": 25\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4185,\n                                          \"end\": 4190,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 179,\n                                              \"column\": 14\n                                            },\n                                            \"end\": {\n                                              \"line\": 179,\n                                              \"column\": 19\n                                            },\n                                            \"identifierName\": \"tmp_x\"\n                                          },\n                                          \"name\": \"tmp_x\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4193,\n                                          \"end\": 4196,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 179,\n                                              \"column\": 22\n                                            },\n                                            \"end\": {\n                                              \"line\": 179,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"sin\"\n                                          },\n                                          \"name\": \"sin\"\n                                        }\n                                      },\n                                      \"operator\": \"+\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 4199,\n                                        \"end\": 4210,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 179,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 179,\n                                            \"column\": 39\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4199,\n                                          \"end\": 4204,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 179,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 179,\n                                              \"column\": 33\n                                            },\n                                            \"identifierName\": \"tmp_y\"\n                                          },\n                                          \"name\": \"tmp_y\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 4207,\n                                          \"end\": 4210,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 179,\n                                              \"column\": 36\n                                            },\n                                            \"end\": {\n                                              \"line\": 179,\n                                              \"column\": 39\n                                            },\n                                            \"identifierName\": \"cos\"\n                                          },\n                                          \"name\": \"cos\"\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": null\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 4221,\n                            \"end\": 4234,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 182,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 182,\n                                \"column\": 16\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 4221,\n                              \"end\": 4233,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 182,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 182,\n                                  \"column\": 15\n                                }\n                              },\n                              \"operator\": \"+=\",\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 4221,\n                                \"end\": 4228,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 182,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 182,\n                                    \"column\": 10\n                                  },\n                                  \"identifierName\": \"coord_x\"\n                                },\n                                \"name\": \"coord_x\"\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 4232,\n                                \"end\": 4233,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 182,\n                                    \"column\": 14\n                                  },\n                                  \"end\": {\n                                    \"line\": 182,\n                                    \"column\": 15\n                                  },\n                                  \"identifierName\": \"x\"\n                                },\n                                \"name\": \"x\"\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 4238,\n                            \"end\": 4251,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 183,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 183,\n                                \"column\": 16\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 4238,\n                              \"end\": 4250,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 183,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 183,\n                                  \"column\": 15\n                                }\n                              },\n                              \"operator\": \"+=\",\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 4238,\n                                \"end\": 4245,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 183,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 183,\n                                    \"column\": 10\n                                  },\n                                  \"identifierName\": \"coord_y\"\n                                },\n                                \"name\": \"coord_y\"\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 4249,\n                                \"end\": 4250,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 183,\n                                    \"column\": 14\n                                  },\n                                  \"end\": {\n                                    \"line\": 183,\n                                    \"column\": 15\n                                  },\n                                  \"identifierName\": \"y\"\n                                },\n                                \"name\": \"y\"\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 4256,\n                            \"end\": 4277,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 185,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 185,\n                                \"column\": 24\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 4256,\n                              \"end\": 4276,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 185,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 185,\n                                  \"column\": 23\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 4256,\n                                \"end\": 4266,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 185,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 185,\n                                    \"column\": 13\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 4256,\n                                  \"end\": 4262,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 185,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 185,\n                                      \"column\": 9\n                                    },\n                                    \"identifierName\": \"coords\"\n                                  },\n                                  \"name\": \"coords\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 4263,\n                                  \"end\": 4265,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 185,\n                                      \"column\": 10\n                                    },\n                                    \"end\": {\n                                      \"line\": 185,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"ix\"\n                                  },\n                                  \"name\": \"ix\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 4269,\n                                \"end\": 4276,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 185,\n                                    \"column\": 16\n                                  },\n                                  \"end\": {\n                                    \"line\": 185,\n                                    \"column\": 23\n                                  },\n                                  \"identifierName\": \"coord_x\"\n                                },\n                                \"name\": \"coord_x\"\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 4281,\n                            \"end\": 4302,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 186,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 186,\n                                \"column\": 24\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 4281,\n                              \"end\": 4301,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 186,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 186,\n                                  \"column\": 23\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 4281,\n                                \"end\": 4291,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 186,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 186,\n                                    \"column\": 13\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 4281,\n                                  \"end\": 4287,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 186,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 186,\n                                      \"column\": 9\n                                    },\n                                    \"identifierName\": \"coords\"\n                                  },\n                                  \"name\": \"coords\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 4288,\n                                  \"end\": 4290,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 186,\n                                      \"column\": 10\n                                    },\n                                    \"end\": {\n                                      \"line\": 186,\n                                      \"column\": 12\n                                    },\n                                    \"identifierName\": \"iy\"\n                                  },\n                                  \"name\": \"iy\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 4294,\n                                \"end\": 4301,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 186,\n                                    \"column\": 16\n                                  },\n                                  \"end\": {\n                                    \"line\": 186,\n                                    \"column\": 23\n                                  },\n                                  \"identifierName\": \"coord_y\"\n                                },\n                                \"name\": \"coord_y\"\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"IfStatement\",\n                            \"start\": 4307,\n                            \"end\": 4626,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 188,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 206,\n                                \"column\": 4\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 4310,\n                              \"end\": 4318,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 188,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 188,\n                                  \"column\": 14\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 4310,\n                                \"end\": 4312,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 188,\n                                    \"column\": 6\n                                  },\n                                  \"end\": {\n                                    \"line\": 188,\n                                    \"column\": 8\n                                  },\n                                  \"identifierName\": \"ix\"\n                                },\n                                \"name\": \"ix\"\n                              },\n                              \"operator\": \"===\",\n                              \"right\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 4317,\n                                \"end\": 4318,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 188,\n                                    \"column\": 13\n                                  },\n                                  \"end\": {\n                                    \"line\": 188,\n                                    \"column\": 14\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 0,\n                                  \"raw\": \"0\"\n                                },\n                                \"value\": 0\n                              }\n                            },\n                            \"consequent\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 4320,\n                              \"end\": 4384,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 188,\n                                  \"column\": 16\n                                },\n                                \"end\": {\n                                  \"line\": 191,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 4326,\n                                  \"end\": 4350,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 189,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 189,\n                                      \"column\": 28\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 4326,\n                                    \"end\": 4349,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 189,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 189,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4326,\n                                      \"end\": 4331,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 189,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 189,\n                                          \"column\": 9\n                                        },\n                                        \"identifierName\": \"min_x\"\n                                      },\n                                      \"name\": \"min_x\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"AssignmentExpression\",\n                                      \"start\": 4334,\n                                      \"end\": 4349,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 189,\n                                          \"column\": 12\n                                        },\n                                        \"end\": {\n                                          \"line\": 189,\n                                          \"column\": 27\n                                        }\n                                      },\n                                      \"operator\": \"=\",\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4334,\n                                        \"end\": 4339,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 189,\n                                            \"column\": 12\n                                          },\n                                          \"end\": {\n                                            \"line\": 189,\n                                            \"column\": 17\n                                          },\n                                          \"identifierName\": \"max_x\"\n                                        },\n                                        \"name\": \"max_x\"\n                                      },\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4342,\n                                        \"end\": 4349,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 189,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 189,\n                                            \"column\": 27\n                                          },\n                                          \"identifierName\": \"coord_x\"\n                                        },\n                                        \"name\": \"coord_x\"\n                                      }\n                                    }\n                                  }\n                                },\n                                {\n                                  \"type\": \"ExpressionStatement\",\n                                  \"start\": 4355,\n                                  \"end\": 4379,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 190,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 190,\n                                      \"column\": 28\n                                    }\n                                  },\n                                  \"expression\": {\n                                    \"type\": \"AssignmentExpression\",\n                                    \"start\": 4355,\n                                    \"end\": 4378,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 190,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 190,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"operator\": \"=\",\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4355,\n                                      \"end\": 4360,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 190,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 190,\n                                          \"column\": 9\n                                        },\n                                        \"identifierName\": \"min_y\"\n                                      },\n                                      \"name\": \"min_y\"\n                                    },\n                                    \"right\": {\n                                      \"type\": \"AssignmentExpression\",\n                                      \"start\": 4363,\n                                      \"end\": 4378,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 190,\n                                          \"column\": 12\n                                        },\n                                        \"end\": {\n                                          \"line\": 190,\n                                          \"column\": 27\n                                        }\n                                      },\n                                      \"operator\": \"=\",\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4363,\n                                        \"end\": 4368,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 190,\n                                            \"column\": 12\n                                          },\n                                          \"end\": {\n                                            \"line\": 190,\n                                            \"column\": 17\n                                          },\n                                          \"identifierName\": \"max_y\"\n                                        },\n                                        \"name\": \"max_y\"\n                                      },\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4371,\n                                        \"end\": 4378,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 190,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 190,\n                                            \"column\": 27\n                                          },\n                                          \"identifierName\": \"coord_y\"\n                                        },\n                                        \"name\": \"coord_y\"\n                                      }\n                                    }\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            },\n                            \"alternate\": {\n                              \"type\": \"BlockStatement\",\n                              \"start\": 4393,\n                              \"end\": 4626,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 192,\n                                  \"column\": 8\n                                },\n                                \"end\": {\n                                  \"line\": 206,\n                                  \"column\": 4\n                                }\n                              },\n                              \"body\": [\n                                {\n                                  \"type\": \"IfStatement\",\n                                  \"start\": 4399,\n                                  \"end\": 4507,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 193,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 198,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 4402,\n                                    \"end\": 4417,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 193,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 193,\n                                        \"column\": 22\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4402,\n                                      \"end\": 4409,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 193,\n                                          \"column\": 7\n                                        },\n                                        \"end\": {\n                                          \"line\": 193,\n                                          \"column\": 14\n                                        },\n                                        \"identifierName\": \"coord_x\"\n                                      },\n                                      \"name\": \"coord_x\"\n                                    },\n                                    \"operator\": \"<\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4412,\n                                      \"end\": 4417,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 193,\n                                          \"column\": 17\n                                        },\n                                        \"end\": {\n                                          \"line\": 193,\n                                          \"column\": 22\n                                        },\n                                        \"identifierName\": \"min_x\"\n                                      },\n                                      \"name\": \"min_x\"\n                                    }\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 4419,\n                                    \"end\": 4448,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 193,\n                                        \"column\": 24\n                                      },\n                                      \"end\": {\n                                        \"line\": 195,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4426,\n                                        \"end\": 4442,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 194,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 194,\n                                            \"column\": 21\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4426,\n                                          \"end\": 4441,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 194,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 194,\n                                              \"column\": 20\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4426,\n                                            \"end\": 4431,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 194,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 194,\n                                                \"column\": 10\n                                              },\n                                              \"identifierName\": \"min_x\"\n                                            },\n                                            \"name\": \"min_x\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4434,\n                                            \"end\": 4441,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 194,\n                                                \"column\": 13\n                                              },\n                                              \"end\": {\n                                                \"line\": 194,\n                                                \"column\": 20\n                                              },\n                                              \"identifierName\": \"coord_x\"\n                                            },\n                                            \"name\": \"coord_x\"\n                                          }\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"IfStatement\",\n                                    \"start\": 4458,\n                                    \"end\": 4507,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 196,\n                                        \"column\": 9\n                                      },\n                                      \"end\": {\n                                        \"line\": 198,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"test\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 4461,\n                                      \"end\": 4476,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 196,\n                                          \"column\": 12\n                                        },\n                                        \"end\": {\n                                          \"line\": 196,\n                                          \"column\": 27\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4461,\n                                        \"end\": 4468,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 196,\n                                            \"column\": 12\n                                          },\n                                          \"end\": {\n                                            \"line\": 196,\n                                            \"column\": 19\n                                          },\n                                          \"identifierName\": \"coord_x\"\n                                        },\n                                        \"name\": \"coord_x\"\n                                      },\n                                      \"operator\": \">\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4471,\n                                        \"end\": 4476,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 196,\n                                            \"column\": 22\n                                          },\n                                          \"end\": {\n                                            \"line\": 196,\n                                            \"column\": 27\n                                          },\n                                          \"identifierName\": \"max_x\"\n                                        },\n                                        \"name\": \"max_x\"\n                                      }\n                                    },\n                                    \"consequent\": {\n                                      \"type\": \"BlockStatement\",\n                                      \"start\": 4478,\n                                      \"end\": 4507,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 196,\n                                          \"column\": 29\n                                        },\n                                        \"end\": {\n                                          \"line\": 198,\n                                          \"column\": 5\n                                        }\n                                      },\n                                      \"body\": [\n                                        {\n                                          \"type\": \"ExpressionStatement\",\n                                          \"start\": 4485,\n                                          \"end\": 4501,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 197,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 197,\n                                              \"column\": 21\n                                            }\n                                          },\n                                          \"expression\": {\n                                            \"type\": \"AssignmentExpression\",\n                                            \"start\": 4485,\n                                            \"end\": 4500,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 197,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 197,\n                                                \"column\": 20\n                                              }\n                                            },\n                                            \"operator\": \"=\",\n                                            \"left\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4485,\n                                              \"end\": 4490,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 197,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 197,\n                                                  \"column\": 10\n                                                },\n                                                \"identifierName\": \"max_x\"\n                                              },\n                                              \"name\": \"max_x\"\n                                            },\n                                            \"right\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4493,\n                                              \"end\": 4500,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 197,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 197,\n                                                  \"column\": 20\n                                                },\n                                                \"identifierName\": \"coord_x\"\n                                              },\n                                              \"name\": \"coord_x\"\n                                            }\n                                          }\n                                        }\n                                      ],\n                                      \"directives\": []\n                                    },\n                                    \"alternate\": null\n                                  }\n                                },\n                                {\n                                  \"type\": \"IfStatement\",\n                                  \"start\": 4513,\n                                  \"end\": 4621,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 200,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 205,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 4516,\n                                    \"end\": 4531,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 200,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 200,\n                                        \"column\": 22\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4516,\n                                      \"end\": 4523,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 200,\n                                          \"column\": 7\n                                        },\n                                        \"end\": {\n                                          \"line\": 200,\n                                          \"column\": 14\n                                        },\n                                        \"identifierName\": \"coord_y\"\n                                      },\n                                      \"name\": \"coord_y\"\n                                    },\n                                    \"operator\": \"<\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 4526,\n                                      \"end\": 4531,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 200,\n                                          \"column\": 17\n                                        },\n                                        \"end\": {\n                                          \"line\": 200,\n                                          \"column\": 22\n                                        },\n                                        \"identifierName\": \"min_y\"\n                                      },\n                                      \"name\": \"min_y\"\n                                    }\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BlockStatement\",\n                                    \"start\": 4533,\n                                    \"end\": 4562,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 200,\n                                        \"column\": 24\n                                      },\n                                      \"end\": {\n                                        \"line\": 202,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"body\": [\n                                      {\n                                        \"type\": \"ExpressionStatement\",\n                                        \"start\": 4540,\n                                        \"end\": 4556,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 201,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 201,\n                                            \"column\": 21\n                                          }\n                                        },\n                                        \"expression\": {\n                                          \"type\": \"AssignmentExpression\",\n                                          \"start\": 4540,\n                                          \"end\": 4555,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 201,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 201,\n                                              \"column\": 20\n                                            }\n                                          },\n                                          \"operator\": \"=\",\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4540,\n                                            \"end\": 4545,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 201,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 201,\n                                                \"column\": 10\n                                              },\n                                              \"identifierName\": \"min_y\"\n                                            },\n                                            \"name\": \"min_y\"\n                                          },\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 4548,\n                                            \"end\": 4555,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 201,\n                                                \"column\": 13\n                                              },\n                                              \"end\": {\n                                                \"line\": 201,\n                                                \"column\": 20\n                                              },\n                                              \"identifierName\": \"coord_y\"\n                                            },\n                                            \"name\": \"coord_y\"\n                                          }\n                                        }\n                                      }\n                                    ],\n                                    \"directives\": []\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"IfStatement\",\n                                    \"start\": 4572,\n                                    \"end\": 4621,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 203,\n                                        \"column\": 9\n                                      },\n                                      \"end\": {\n                                        \"line\": 205,\n                                        \"column\": 5\n                                      }\n                                    },\n                                    \"test\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 4575,\n                                      \"end\": 4590,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 203,\n                                          \"column\": 12\n                                        },\n                                        \"end\": {\n                                          \"line\": 203,\n                                          \"column\": 27\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4575,\n                                        \"end\": 4582,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 203,\n                                            \"column\": 12\n                                          },\n                                          \"end\": {\n                                            \"line\": 203,\n                                            \"column\": 19\n                                          },\n                                          \"identifierName\": \"coord_y\"\n                                        },\n                                        \"name\": \"coord_y\"\n                                      },\n                                      \"operator\": \">\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 4585,\n                                        \"end\": 4590,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 203,\n                                            \"column\": 22\n                                          },\n                                          \"end\": {\n                                            \"line\": 203,\n                                            \"column\": 27\n                                          },\n                                          \"identifierName\": \"max_y\"\n                                        },\n                                        \"name\": \"max_y\"\n                                      }\n                                    },\n                                    \"consequent\": {\n                                      \"type\": \"BlockStatement\",\n                                      \"start\": 4592,\n                                      \"end\": 4621,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 203,\n                                          \"column\": 29\n                                        },\n                                        \"end\": {\n                                          \"line\": 205,\n                                          \"column\": 5\n                                        }\n                                      },\n                                      \"body\": [\n                                        {\n                                          \"type\": \"ExpressionStatement\",\n                                          \"start\": 4599,\n                                          \"end\": 4615,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 204,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 204,\n                                              \"column\": 21\n                                            }\n                                          },\n                                          \"expression\": {\n                                            \"type\": \"AssignmentExpression\",\n                                            \"start\": 4599,\n                                            \"end\": 4614,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 204,\n                                                \"column\": 5\n                                              },\n                                              \"end\": {\n                                                \"line\": 204,\n                                                \"column\": 20\n                                              }\n                                            },\n                                            \"operator\": \"=\",\n                                            \"left\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4599,\n                                              \"end\": 4604,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 204,\n                                                  \"column\": 5\n                                                },\n                                                \"end\": {\n                                                  \"line\": 204,\n                                                  \"column\": 10\n                                                },\n                                                \"identifierName\": \"max_y\"\n                                              },\n                                              \"name\": \"max_y\"\n                                            },\n                                            \"right\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 4607,\n                                              \"end\": 4614,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 204,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 204,\n                                                  \"column\": 20\n                                                },\n                                                \"identifierName\": \"coord_y\"\n                                              },\n                                              \"name\": \"coord_y\"\n                                            }\n                                          }\n                                        }\n                                      ],\n                                      \"directives\": []\n                                    },\n                                    \"alternate\": null\n                                  }\n                                }\n                              ],\n                              \"directives\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4634,\n                      \"end\": 4658,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 209,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 209,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4634,\n                        \"end\": 4657,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 209,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 209,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4634,\n                          \"end\": 4641,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 209,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 209,\n                              \"column\": 9\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4634,\n                            \"end\": 4638,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 209,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 209,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4639,\n                            \"end\": 4641,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 209,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 209,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"_x\"\n                            },\n                            \"name\": \"_x\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4656,\n                          \"end\": 4657,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 209,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 209,\n                              \"column\": 25\n                            },\n                            \"identifierName\": \"x\"\n                          },\n                          \"name\": \"x\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4661,\n                      \"end\": 4685,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 210,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 210,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4661,\n                        \"end\": 4684,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 210,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 210,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4661,\n                          \"end\": 4668,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 210,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 210,\n                              \"column\": 9\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4661,\n                            \"end\": 4665,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 210,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 210,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4666,\n                            \"end\": 4668,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 210,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 210,\n                                \"column\": 9\n                              },\n                              \"identifierName\": \"_y\"\n                            },\n                            \"name\": \"_y\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4683,\n                          \"end\": 4684,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 210,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 210,\n                              \"column\": 25\n                            },\n                            \"identifierName\": \"y\"\n                          },\n                          \"name\": \"y\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4688,\n                      \"end\": 4716,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 211,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 211,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4688,\n                        \"end\": 4715,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 211,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 211,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4688,\n                          \"end\": 4699,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 211,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 211,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4688,\n                            \"end\": 4692,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 211,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 211,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4693,\n                            \"end\": 4699,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 211,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 211,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_angle\"\n                            },\n                            \"name\": \"_angle\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4710,\n                          \"end\": 4715,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 211,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 211,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"angle\"\n                          },\n                          \"name\": \"angle\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4719,\n                      \"end\": 4749,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 212,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 212,\n                          \"column\": 32\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4719,\n                        \"end\": 4748,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 212,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 212,\n                            \"column\": 31\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4719,\n                          \"end\": 4732,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 212,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 212,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4719,\n                            \"end\": 4723,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 212,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 212,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4724,\n                            \"end\": 4732,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 212,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 212,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_scale_x\"\n                            },\n                            \"name\": \"_scale_x\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4741,\n                          \"end\": 4748,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 212,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 212,\n                              \"column\": 31\n                            },\n                            \"identifierName\": \"scale_x\"\n                          },\n                          \"name\": \"scale_x\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4752,\n                      \"end\": 4782,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 213,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 213,\n                          \"column\": 32\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4752,\n                        \"end\": 4781,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 213,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 213,\n                            \"column\": 31\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4752,\n                          \"end\": 4765,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 213,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 213,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4752,\n                            \"end\": 4756,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 213,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 213,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4757,\n                            \"end\": 4765,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 213,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 213,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"_scale_y\"\n                            },\n                            \"name\": \"_scale_y\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4774,\n                          \"end\": 4781,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 213,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 213,\n                              \"column\": 31\n                            },\n                            \"identifierName\": \"scale_y\"\n                          },\n                          \"name\": \"scale_y\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4785,\n                      \"end\": 4813,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 214,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 214,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4785,\n                        \"end\": 4812,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 214,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 214,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4785,\n                          \"end\": 4796,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 214,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 214,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4785,\n                            \"end\": 4789,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 214,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 214,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4790,\n                            \"end\": 4796,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 214,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 214,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_min_x\"\n                            },\n                            \"name\": \"_min_x\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4807,\n                          \"end\": 4812,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 214,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 214,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"min_x\"\n                          },\n                          \"name\": \"min_x\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4816,\n                      \"end\": 4844,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 215,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 215,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4816,\n                        \"end\": 4843,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 215,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 215,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4816,\n                          \"end\": 4827,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 215,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 215,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4816,\n                            \"end\": 4820,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 215,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 215,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4821,\n                            \"end\": 4827,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 215,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 215,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_min_y\"\n                            },\n                            \"name\": \"_min_y\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4838,\n                          \"end\": 4843,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 215,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 215,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"min_y\"\n                          },\n                          \"name\": \"min_y\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4847,\n                      \"end\": 4875,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 216,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 216,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4847,\n                        \"end\": 4874,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 216,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 216,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4847,\n                          \"end\": 4858,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 216,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 216,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4847,\n                            \"end\": 4851,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 216,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 216,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4852,\n                            \"end\": 4858,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 216,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 216,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_max_x\"\n                            },\n                            \"name\": \"_max_x\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4869,\n                          \"end\": 4874,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 216,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 216,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"max_x\"\n                          },\n                          \"name\": \"max_x\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4878,\n                      \"end\": 4906,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 217,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 217,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4878,\n                        \"end\": 4905,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 217,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 217,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4878,\n                          \"end\": 4889,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 217,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 217,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4878,\n                            \"end\": 4882,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 217,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 217,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4883,\n                            \"end\": 4889,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 217,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 217,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"_max_y\"\n                            },\n                            \"name\": \"_max_y\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4900,\n                          \"end\": 4905,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 217,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 217,\n                              \"column\": 29\n                            },\n                            \"identifierName\": \"max_y\"\n                          },\n                          \"name\": \"max_y\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4909,\n                      \"end\": 4937,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 218,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 218,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4909,\n                        \"end\": 4936,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 218,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 218,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4909,\n                          \"end\": 4927,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 218,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 218,\n                              \"column\": 20\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4909,\n                            \"end\": 4913,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 218,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 218,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4914,\n                            \"end\": 4927,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 218,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 218,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"_dirty_coords\"\n                            },\n                            \"name\": \"_dirty_coords\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 4931,\n                          \"end\": 4936,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 218,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 218,\n                              \"column\": 29\n                            }\n                          },\n                          \"value\": false\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 4940,\n                      \"end\": 4967,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 219,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 219,\n                          \"column\": 29\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 4940,\n                        \"end\": 4966,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 219,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 219,\n                            \"column\": 28\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 4940,\n                          \"end\": 4959,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 219,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 219,\n                              \"column\": 21\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 4940,\n                            \"end\": 4944,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 219,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 219,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 4945,\n                            \"end\": 4959,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 219,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 219,\n                                \"column\": 21\n                              },\n                              \"identifierName\": \"_dirty_normals\"\n                            },\n                            \"name\": \"_dirty_normals\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 4962,\n                          \"end\": 4966,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 219,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 219,\n                              \"column\": 28\n                            }\n                          },\n                          \"value\": true\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": [],\n                  \"trailingComments\": null\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\\n\\t \",\n                    \"start\": 3429,\n                    \"end\": 3533,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 150,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 152,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ],\n                \"trailingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Calculates the normals and edges of the polygon's sides\\n\\t \",\n                    \"start\": 4973,\n                    \"end\": 5041,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 222,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 224,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              },\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 5043,\n                \"end\": 5615,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 225,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 244,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 5043,\n                  \"end\": 5060,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 225,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 225,\n                      \"column\": 18\n                    },\n                    \"identifierName\": \"_calculateNormals\"\n                  },\n                  \"name\": \"_calculateNormals\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"method\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 5063,\n                  \"end\": 5615,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 225,\n                      \"column\": 21\n                    },\n                    \"end\": {\n                      \"line\": 244,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5067,\n                      \"end\": 5096,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 226,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 226,\n                          \"column\": 31\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5073,\n                          \"end\": 5095,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 226,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 226,\n                              \"column\": 30\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5073,\n                            \"end\": 5079,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 226,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 226,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"coords\"\n                            },\n                            \"name\": \"coords\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5083,\n                            \"end\": 5095,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 226,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 226,\n                                \"column\": 30\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 5083,\n                              \"end\": 5087,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 226,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 226,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5088,\n                              \"end\": 5095,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 226,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 226,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"_coords\"\n                              },\n                              \"name\": \"_coords\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5099,\n                      \"end\": 5127,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 227,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 227,\n                          \"column\": 30\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5105,\n                          \"end\": 5126,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 227,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 227,\n                              \"column\": 29\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5105,\n                            \"end\": 5110,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 227,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 227,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"edges\"\n                            },\n                            \"name\": \"edges\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5115,\n                            \"end\": 5126,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 227,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 227,\n                                \"column\": 29\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 5115,\n                              \"end\": 5119,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 227,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 227,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5120,\n                              \"end\": 5126,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 227,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 227,\n                                  \"column\": 29\n                                },\n                                \"identifierName\": \"_edges\"\n                              },\n                              \"name\": \"_edges\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5130,\n                      \"end\": 5160,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 228,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 228,\n                          \"column\": 32\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5136,\n                          \"end\": 5159,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 228,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 228,\n                              \"column\": 31\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5136,\n                            \"end\": 5143,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 228,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 228,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"normals\"\n                            },\n                            \"name\": \"normals\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5146,\n                            \"end\": 5159,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 228,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 228,\n                                \"column\": 31\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"ThisExpression\",\n                              \"start\": 5146,\n                              \"end\": 5150,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 228,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 228,\n                                  \"column\": 22\n                                }\n                              }\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5151,\n                              \"end\": 5159,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 228,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 228,\n                                  \"column\": 31\n                                },\n                                \"identifierName\": \"_normals\"\n                              },\n                              \"name\": \"_normals\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5163,\n                      \"end\": 5193,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 229,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 229,\n                          \"column\": 32\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5169,\n                          \"end\": 5192,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 229,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 229,\n                              \"column\": 31\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5169,\n                            \"end\": 5174,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 229,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 229,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"count\"\n                            },\n                            \"name\": \"count\"\n                          },\n                          \"init\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5179,\n                            \"end\": 5192,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 229,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 229,\n                                \"column\": 31\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5179,\n                              \"end\": 5185,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 229,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 229,\n                                  \"column\": 24\n                                },\n                                \"identifierName\": \"coords\"\n                              },\n                              \"name\": \"coords\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5186,\n                              \"end\": 5192,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 229,\n                                  \"column\": 25\n                                },\n                                \"end\": {\n                                  \"line\": 229,\n                                  \"column\": 31\n                                },\n                                \"identifierName\": \"length\"\n                              },\n                              \"name\": \"length\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      ],\n                      \"kind\": \"const\"\n                    },\n                    {\n                      \"type\": \"ForStatement\",\n                      \"start\": 5197,\n                      \"end\": 5580,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 231,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 241,\n                          \"column\": 3\n                        }\n                      },\n                      \"init\": {\n                        \"type\": \"VariableDeclaration\",\n                        \"start\": 5201,\n                        \"end\": 5219,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 231,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 231,\n                            \"column\": 24\n                          }\n                        },\n                        \"declarations\": [\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 5205,\n                            \"end\": 5211,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 231,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 231,\n                                \"column\": 16\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5205,\n                              \"end\": 5207,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 10\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"ix\"\n                              },\n                              \"name\": \"ix\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 5210,\n                              \"end\": 5211,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 16\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          },\n                          {\n                            \"type\": \"VariableDeclarator\",\n                            \"start\": 5213,\n                            \"end\": 5219,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 231,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 231,\n                                \"column\": 24\n                              }\n                            },\n                            \"id\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5213,\n                              \"end\": 5215,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 18\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 20\n                                },\n                                \"identifierName\": \"iy\"\n                              },\n                              \"name\": \"iy\"\n                            },\n                            \"init\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 5218,\n                              \"end\": 5219,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 23\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 24\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 1,\n                                \"raw\": \"1\"\n                              },\n                              \"value\": 1\n                            }\n                          }\n                        ],\n                        \"kind\": \"let\"\n                      },\n                      \"test\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 5221,\n                        \"end\": 5231,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 231,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 231,\n                            \"column\": 36\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5221,\n                          \"end\": 5223,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 231,\n                              \"column\": 26\n                            },\n                            \"end\": {\n                              \"line\": 231,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"ix\"\n                          },\n                          \"name\": \"ix\"\n                        },\n                        \"operator\": \"<\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5226,\n                          \"end\": 5231,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 231,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 231,\n                              \"column\": 36\n                            },\n                            \"identifierName\": \"count\"\n                          },\n                          \"name\": \"count\"\n                        }\n                      },\n                      \"update\": {\n                        \"type\": \"SequenceExpression\",\n                        \"start\": 5233,\n                        \"end\": 5249,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 231,\n                            \"column\": 38\n                          },\n                          \"end\": {\n                            \"line\": 231,\n                            \"column\": 54\n                          }\n                        },\n                        \"expressions\": [\n                          {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 5233,\n                            \"end\": 5240,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 231,\n                                \"column\": 38\n                              },\n                              \"end\": {\n                                \"line\": 231,\n                                \"column\": 45\n                              }\n                            },\n                            \"operator\": \"+=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5233,\n                              \"end\": 5235,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 38\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 40\n                                },\n                                \"identifierName\": \"ix\"\n                              },\n                              \"name\": \"ix\"\n                            },\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 5239,\n                              \"end\": 5240,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 44\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 45\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 2,\n                                \"raw\": \"2\"\n                              },\n                              \"value\": 2\n                            }\n                          },\n                          {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 5242,\n                            \"end\": 5249,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 231,\n                                \"column\": 47\n                              },\n                              \"end\": {\n                                \"line\": 231,\n                                \"column\": 54\n                              }\n                            },\n                            \"operator\": \"+=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5242,\n                              \"end\": 5244,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 47\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 49\n                                },\n                                \"identifierName\": \"iy\"\n                              },\n                              \"name\": \"iy\"\n                            },\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 5248,\n                              \"end\": 5249,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 231,\n                                  \"column\": 53\n                                },\n                                \"end\": {\n                                  \"line\": 231,\n                                  \"column\": 54\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 2,\n                                \"raw\": \"2\"\n                              },\n                              \"value\": 2\n                            }\n                          }\n                        ]\n                      },\n                      \"body\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 5251,\n                        \"end\": 5580,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 231,\n                            \"column\": 56\n                          },\n                          \"end\": {\n                            \"line\": 241,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 5256,\n                            \"end\": 5299,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 232,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 232,\n                                \"column\": 46\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 5262,\n                                \"end\": 5298,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 232,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 232,\n                                    \"column\": 45\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5262,\n                                  \"end\": 5266,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 232,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 232,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"next\"\n                                  },\n                                  \"name\": \"next\"\n                                },\n                                \"init\": {\n                                  \"type\": \"ConditionalExpression\",\n                                  \"start\": 5271,\n                                  \"end\": 5298,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 232,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 232,\n                                      \"column\": 45\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 5271,\n                                    \"end\": 5285,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 232,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 232,\n                                        \"column\": 32\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 5271,\n                                      \"end\": 5277,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 232,\n                                          \"column\": 18\n                                        },\n                                        \"end\": {\n                                          \"line\": 232,\n                                          \"column\": 24\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 5271,\n                                        \"end\": 5273,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 232,\n                                            \"column\": 18\n                                          },\n                                          \"end\": {\n                                            \"line\": 232,\n                                            \"column\": 20\n                                          },\n                                          \"identifierName\": \"ix\"\n                                        },\n                                        \"name\": \"ix\"\n                                      },\n                                      \"operator\": \"+\",\n                                      \"right\": {\n                                        \"type\": \"NumericLiteral\",\n                                        \"start\": 5276,\n                                        \"end\": 5277,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 232,\n                                            \"column\": 23\n                                          },\n                                          \"end\": {\n                                            \"line\": 232,\n                                            \"column\": 24\n                                          }\n                                        },\n                                        \"extra\": {\n                                          \"rawValue\": 2,\n                                          \"raw\": \"2\"\n                                        },\n                                        \"value\": 2\n                                      }\n                                    },\n                                    \"operator\": \"<\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5280,\n                                      \"end\": 5285,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 232,\n                                          \"column\": 27\n                                        },\n                                        \"end\": {\n                                          \"line\": 232,\n                                          \"column\": 32\n                                        },\n                                        \"identifierName\": \"count\"\n                                      },\n                                      \"name\": \"count\"\n                                    }\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 5288,\n                                    \"end\": 5294,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 232,\n                                        \"column\": 35\n                                      },\n                                      \"end\": {\n                                        \"line\": 232,\n                                        \"column\": 41\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5288,\n                                      \"end\": 5290,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 232,\n                                          \"column\": 35\n                                        },\n                                        \"end\": {\n                                          \"line\": 232,\n                                          \"column\": 37\n                                        },\n                                        \"identifierName\": \"ix\"\n                                      },\n                                      \"name\": \"ix\"\n                                    },\n                                    \"operator\": \"+\",\n                                    \"right\": {\n                                      \"type\": \"NumericLiteral\",\n                                      \"start\": 5293,\n                                      \"end\": 5294,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 232,\n                                          \"column\": 40\n                                        },\n                                        \"end\": {\n                                          \"line\": 232,\n                                          \"column\": 41\n                                        }\n                                      },\n                                      \"extra\": {\n                                        \"rawValue\": 2,\n                                        \"raw\": \"2\"\n                                      },\n                                      \"value\": 2\n                                    }\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 5297,\n                                    \"end\": 5298,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 232,\n                                        \"column\": 44\n                                      },\n                                      \"end\": {\n                                        \"line\": 232,\n                                        \"column\": 45\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 5303,\n                            \"end\": 5344,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 233,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 233,\n                                \"column\": 44\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 5309,\n                                \"end\": 5343,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 233,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 233,\n                                    \"column\": 43\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5309,\n                                  \"end\": 5310,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 233,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 233,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"x\"\n                                  },\n                                  \"name\": \"x\"\n                                },\n                                \"init\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5318,\n                                  \"end\": 5343,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 233,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 233,\n                                      \"column\": 43\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 5318,\n                                    \"end\": 5330,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 233,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 233,\n                                        \"column\": 30\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5318,\n                                      \"end\": 5324,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 233,\n                                          \"column\": 18\n                                        },\n                                        \"end\": {\n                                          \"line\": 233,\n                                          \"column\": 24\n                                        },\n                                        \"identifierName\": \"coords\"\n                                      },\n                                      \"name\": \"coords\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5325,\n                                      \"end\": 5329,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 233,\n                                          \"column\": 25\n                                        },\n                                        \"end\": {\n                                          \"line\": 233,\n                                          \"column\": 29\n                                        },\n                                        \"identifierName\": \"next\"\n                                      },\n                                      \"name\": \"next\"\n                                    },\n                                    \"computed\": true\n                                  },\n                                  \"operator\": \"-\",\n                                  \"right\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 5333,\n                                    \"end\": 5343,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 233,\n                                        \"column\": 33\n                                      },\n                                      \"end\": {\n                                        \"line\": 233,\n                                        \"column\": 43\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5333,\n                                      \"end\": 5339,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 233,\n                                          \"column\": 33\n                                        },\n                                        \"end\": {\n                                          \"line\": 233,\n                                          \"column\": 39\n                                        },\n                                        \"identifierName\": \"coords\"\n                                      },\n                                      \"name\": \"coords\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5340,\n                                      \"end\": 5342,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 233,\n                                          \"column\": 40\n                                        },\n                                        \"end\": {\n                                          \"line\": 233,\n                                          \"column\": 42\n                                        },\n                                        \"identifierName\": \"ix\"\n                                      },\n                                      \"name\": \"ix\"\n                                    },\n                                    \"computed\": true\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 5348,\n                            \"end\": 5393,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 234,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 234,\n                                \"column\": 48\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 5354,\n                                \"end\": 5392,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 234,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 234,\n                                    \"column\": 47\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5354,\n                                  \"end\": 5355,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 234,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 234,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"y\"\n                                  },\n                                  \"name\": \"y\"\n                                },\n                                \"init\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5363,\n                                  \"end\": 5392,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 234,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 234,\n                                      \"column\": 47\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 5363,\n                                    \"end\": 5379,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 234,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 234,\n                                        \"column\": 34\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5363,\n                                      \"end\": 5369,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 234,\n                                          \"column\": 18\n                                        },\n                                        \"end\": {\n                                          \"line\": 234,\n                                          \"column\": 24\n                                        },\n                                        \"identifierName\": \"coords\"\n                                      },\n                                      \"name\": \"coords\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 5370,\n                                      \"end\": 5378,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 234,\n                                          \"column\": 25\n                                        },\n                                        \"end\": {\n                                          \"line\": 234,\n                                          \"column\": 33\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 5370,\n                                        \"end\": 5374,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 234,\n                                            \"column\": 25\n                                          },\n                                          \"end\": {\n                                            \"line\": 234,\n                                            \"column\": 29\n                                          },\n                                          \"identifierName\": \"next\"\n                                        },\n                                        \"name\": \"next\"\n                                      },\n                                      \"operator\": \"+\",\n                                      \"right\": {\n                                        \"type\": \"NumericLiteral\",\n                                        \"start\": 5377,\n                                        \"end\": 5378,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 234,\n                                            \"column\": 32\n                                          },\n                                          \"end\": {\n                                            \"line\": 234,\n                                            \"column\": 33\n                                          }\n                                        },\n                                        \"extra\": {\n                                          \"rawValue\": 1,\n                                          \"raw\": \"1\"\n                                        },\n                                        \"value\": 1\n                                      }\n                                    },\n                                    \"computed\": true\n                                  },\n                                  \"operator\": \"-\",\n                                  \"right\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 5382,\n                                    \"end\": 5392,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 234,\n                                        \"column\": 37\n                                      },\n                                      \"end\": {\n                                        \"line\": 234,\n                                        \"column\": 47\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5382,\n                                      \"end\": 5388,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 234,\n                                          \"column\": 37\n                                        },\n                                        \"end\": {\n                                          \"line\": 234,\n                                          \"column\": 43\n                                        },\n                                        \"identifierName\": \"coords\"\n                                      },\n                                      \"name\": \"coords\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5389,\n                                      \"end\": 5391,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 234,\n                                          \"column\": 44\n                                        },\n                                        \"end\": {\n                                          \"line\": 234,\n                                          \"column\": 46\n                                        },\n                                        \"identifierName\": \"iy\"\n                                      },\n                                      \"name\": \"iy\"\n                                    },\n                                    \"computed\": true\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"VariableDeclaration\",\n                            \"start\": 5397,\n                            \"end\": 5450,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 235,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 235,\n                                \"column\": 56\n                              }\n                            },\n                            \"declarations\": [\n                              {\n                                \"type\": \"VariableDeclarator\",\n                                \"start\": 5403,\n                                \"end\": 5449,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 235,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 235,\n                                    \"column\": 55\n                                  }\n                                },\n                                \"id\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5403,\n                                  \"end\": 5409,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 235,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 235,\n                                      \"column\": 15\n                                    },\n                                    \"identifierName\": \"length\"\n                                  },\n                                  \"name\": \"length\"\n                                },\n                                \"init\": {\n                                  \"type\": \"ConditionalExpression\",\n                                  \"start\": 5412,\n                                  \"end\": 5449,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 235,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 235,\n                                      \"column\": 55\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"LogicalExpression\",\n                                    \"start\": 5412,\n                                    \"end\": 5418,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 235,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 235,\n                                        \"column\": 24\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5412,\n                                      \"end\": 5413,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 235,\n                                          \"column\": 18\n                                        },\n                                        \"end\": {\n                                          \"line\": 235,\n                                          \"column\": 19\n                                        },\n                                        \"identifierName\": \"x\"\n                                      },\n                                      \"name\": \"x\"\n                                    },\n                                    \"operator\": \"||\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5417,\n                                      \"end\": 5418,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 235,\n                                          \"column\": 23\n                                        },\n                                        \"end\": {\n                                          \"line\": 235,\n                                          \"column\": 24\n                                        },\n                                        \"identifierName\": \"y\"\n                                      },\n                                      \"name\": \"y\"\n                                    }\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"CallExpression\",\n                                    \"start\": 5421,\n                                    \"end\": 5445,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 235,\n                                        \"column\": 27\n                                      },\n                                      \"end\": {\n                                        \"line\": 235,\n                                        \"column\": 51\n                                      }\n                                    },\n                                    \"callee\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 5421,\n                                      \"end\": 5430,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 235,\n                                          \"column\": 27\n                                        },\n                                        \"end\": {\n                                          \"line\": 235,\n                                          \"column\": 36\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 5421,\n                                        \"end\": 5425,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 235,\n                                            \"column\": 27\n                                          },\n                                          \"end\": {\n                                            \"line\": 235,\n                                            \"column\": 31\n                                          },\n                                          \"identifierName\": \"Math\"\n                                        },\n                                        \"name\": \"Math\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 5426,\n                                        \"end\": 5430,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 235,\n                                            \"column\": 32\n                                          },\n                                          \"end\": {\n                                            \"line\": 235,\n                                            \"column\": 36\n                                          },\n                                          \"identifierName\": \"sqrt\"\n                                        },\n                                        \"name\": \"sqrt\"\n                                      },\n                                      \"computed\": false\n                                    },\n                                    \"arguments\": [\n                                      {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 5431,\n                                        \"end\": 5444,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 235,\n                                            \"column\": 37\n                                          },\n                                          \"end\": {\n                                            \"line\": 235,\n                                            \"column\": 50\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 5431,\n                                          \"end\": 5436,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 235,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 235,\n                                              \"column\": 42\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 5431,\n                                            \"end\": 5432,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 235,\n                                                \"column\": 37\n                                              },\n                                              \"end\": {\n                                                \"line\": 235,\n                                                \"column\": 38\n                                              },\n                                              \"identifierName\": \"x\"\n                                            },\n                                            \"name\": \"x\"\n                                          },\n                                          \"operator\": \"*\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 5435,\n                                            \"end\": 5436,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 235,\n                                                \"column\": 41\n                                              },\n                                              \"end\": {\n                                                \"line\": 235,\n                                                \"column\": 42\n                                              },\n                                              \"identifierName\": \"x\"\n                                            },\n                                            \"name\": \"x\"\n                                          }\n                                        },\n                                        \"operator\": \"+\",\n                                        \"right\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 5439,\n                                          \"end\": 5444,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 235,\n                                              \"column\": 45\n                                            },\n                                            \"end\": {\n                                              \"line\": 235,\n                                              \"column\": 50\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 5439,\n                                            \"end\": 5440,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 235,\n                                                \"column\": 45\n                                              },\n                                              \"end\": {\n                                                \"line\": 235,\n                                                \"column\": 46\n                                              },\n                                              \"identifierName\": \"y\"\n                                            },\n                                            \"name\": \"y\"\n                                          },\n                                          \"operator\": \"*\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 5443,\n                                            \"end\": 5444,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 235,\n                                                \"column\": 49\n                                              },\n                                              \"end\": {\n                                                \"line\": 235,\n                                                \"column\": 50\n                                              },\n                                              \"identifierName\": \"y\"\n                                            },\n                                            \"name\": \"y\"\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 5448,\n                                    \"end\": 5449,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 235,\n                                        \"column\": 54\n                                      },\n                                      \"end\": {\n                                        \"line\": 235,\n                                        \"column\": 55\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  }\n                                }\n                              }\n                            ],\n                            \"kind\": \"const\"\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5455,\n                            \"end\": 5471,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 237,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 237,\n                                \"column\": 19\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 5455,\n                              \"end\": 5470,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 237,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 237,\n                                  \"column\": 18\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5455,\n                                \"end\": 5464,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 237,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 237,\n                                    \"column\": 12\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5455,\n                                  \"end\": 5460,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 237,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 237,\n                                      \"column\": 8\n                                    },\n                                    \"identifierName\": \"edges\"\n                                  },\n                                  \"name\": \"edges\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5461,\n                                  \"end\": 5463,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 237,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 237,\n                                      \"column\": 11\n                                    },\n                                    \"identifierName\": \"ix\"\n                                  },\n                                  \"name\": \"ix\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5469,\n                                \"end\": 5470,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 237,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 237,\n                                    \"column\": 18\n                                  },\n                                  \"identifierName\": \"x\"\n                                },\n                                \"name\": \"x\"\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5475,\n                            \"end\": 5491,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 238,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 238,\n                                \"column\": 19\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 5475,\n                              \"end\": 5490,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 238,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 238,\n                                  \"column\": 18\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5475,\n                                \"end\": 5484,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 238,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 238,\n                                    \"column\": 12\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5475,\n                                  \"end\": 5480,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 238,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 238,\n                                      \"column\": 8\n                                    },\n                                    \"identifierName\": \"edges\"\n                                  },\n                                  \"name\": \"edges\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5481,\n                                  \"end\": 5483,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 238,\n                                      \"column\": 9\n                                    },\n                                    \"end\": {\n                                      \"line\": 238,\n                                      \"column\": 11\n                                    },\n                                    \"identifierName\": \"iy\"\n                                  },\n                                  \"name\": \"iy\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5489,\n                                \"end\": 5490,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 238,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 238,\n                                    \"column\": 18\n                                  },\n                                  \"identifierName\": \"y\"\n                                },\n                                \"name\": \"y\"\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5495,\n                            \"end\": 5533,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 239,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 239,\n                                \"column\": 41\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 5495,\n                              \"end\": 5532,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 239,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 239,\n                                  \"column\": 40\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5495,\n                                \"end\": 5506,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 239,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 239,\n                                    \"column\": 14\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5495,\n                                  \"end\": 5502,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 239,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 239,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"normals\"\n                                  },\n                                  \"name\": \"normals\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5503,\n                                  \"end\": 5505,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 239,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 239,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"ix\"\n                                  },\n                                  \"name\": \"ix\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"ConditionalExpression\",\n                                \"start\": 5509,\n                                \"end\": 5532,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 239,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 239,\n                                    \"column\": 40\n                                  }\n                                },\n                                \"test\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5509,\n                                  \"end\": 5515,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 239,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 239,\n                                      \"column\": 23\n                                    },\n                                    \"identifierName\": \"length\"\n                                  },\n                                  \"name\": \"length\"\n                                },\n                                \"consequent\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5518,\n                                  \"end\": 5528,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 239,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 239,\n                                      \"column\": 36\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5518,\n                                    \"end\": 5519,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 239,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 239,\n                                        \"column\": 27\n                                      },\n                                      \"identifierName\": \"y\"\n                                    },\n                                    \"name\": \"y\"\n                                  },\n                                  \"operator\": \"/\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5522,\n                                    \"end\": 5528,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 239,\n                                        \"column\": 30\n                                      },\n                                      \"end\": {\n                                        \"line\": 239,\n                                        \"column\": 36\n                                      },\n                                      \"identifierName\": \"length\"\n                                    },\n                                    \"name\": \"length\"\n                                  }\n                                },\n                                \"alternate\": {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 5531,\n                                  \"end\": 5532,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 239,\n                                      \"column\": 39\n                                    },\n                                    \"end\": {\n                                      \"line\": 239,\n                                      \"column\": 40\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 0,\n                                    \"raw\": \"0\"\n                                  },\n                                  \"value\": 0\n                                }\n                              }\n                            }\n                          },\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 5537,\n                            \"end\": 5576,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 240,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 240,\n                                \"column\": 42\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"AssignmentExpression\",\n                              \"start\": 5537,\n                              \"end\": 5575,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 240,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 240,\n                                  \"column\": 41\n                                }\n                              },\n                              \"operator\": \"=\",\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5537,\n                                \"end\": 5548,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 240,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 240,\n                                    \"column\": 14\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5537,\n                                  \"end\": 5544,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 240,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 240,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"normals\"\n                                  },\n                                  \"name\": \"normals\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5545,\n                                  \"end\": 5547,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 240,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 240,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"iy\"\n                                  },\n                                  \"name\": \"iy\"\n                                },\n                                \"computed\": true\n                              },\n                              \"right\": {\n                                \"type\": \"ConditionalExpression\",\n                                \"start\": 5551,\n                                \"end\": 5575,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 240,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 240,\n                                    \"column\": 41\n                                  }\n                                },\n                                \"test\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5551,\n                                  \"end\": 5557,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 240,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 240,\n                                      \"column\": 23\n                                    },\n                                    \"identifierName\": \"length\"\n                                  },\n                                  \"name\": \"length\"\n                                },\n                                \"consequent\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5560,\n                                  \"end\": 5571,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 240,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 240,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"UnaryExpression\",\n                                    \"start\": 5560,\n                                    \"end\": 5562,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 240,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 240,\n                                        \"column\": 28\n                                      }\n                                    },\n                                    \"operator\": \"-\",\n                                    \"prefix\": true,\n                                    \"argument\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5561,\n                                      \"end\": 5562,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 240,\n                                          \"column\": 27\n                                        },\n                                        \"end\": {\n                                          \"line\": 240,\n                                          \"column\": 28\n                                        },\n                                        \"identifierName\": \"x\"\n                                      },\n                                      \"name\": \"x\"\n                                    },\n                                    \"extra\": {\n                                      \"parenthesizedArgument\": false\n                                    }\n                                  },\n                                  \"operator\": \"/\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5565,\n                                    \"end\": 5571,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 240,\n                                        \"column\": 31\n                                      },\n                                      \"end\": {\n                                        \"line\": 240,\n                                        \"column\": 37\n                                      },\n                                      \"identifierName\": \"length\"\n                                    },\n                                    \"name\": \"length\"\n                                  }\n                                },\n                                \"alternate\": {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 5574,\n                                  \"end\": 5575,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 240,\n                                      \"column\": 40\n                                    },\n                                    \"end\": {\n                                      \"line\": 240,\n                                      \"column\": 41\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 0,\n                                    \"raw\": \"0\"\n                                  },\n                                  \"value\": 0\n                                }\n                              }\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 5584,\n                      \"end\": 5612,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 243,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 243,\n                          \"column\": 30\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 5584,\n                        \"end\": 5611,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 243,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 243,\n                            \"column\": 29\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 5584,\n                          \"end\": 5603,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 243,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 243,\n                              \"column\": 21\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 5584,\n                            \"end\": 5588,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 243,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 243,\n                                \"column\": 6\n                              }\n                            }\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5589,\n                            \"end\": 5603,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 243,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 243,\n                                \"column\": 21\n                              },\n                              \"identifierName\": \"_dirty_normals\"\n                            },\n                            \"name\": \"_dirty_normals\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 5606,\n                          \"end\": 5611,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 243,\n                              \"column\": 24\n                            },\n                            \"end\": {\n                              \"line\": 243,\n                              \"column\": 29\n                            }\n                          },\n                          \"value\": false\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * Calculates the normals and edges of the polygon's sides\\n\\t \",\n                    \"start\": 4973,\n                    \"end\": 5041,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 222,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 224,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * A polygon used to detect collisions\\n * @class\\n \",\n              \"start\": 32,\n              \"end\": 88,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 3,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 6,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * A polygon used to detect collisions\\n * @class\\n \",\n            \"start\": 32,\n            \"end\": 88,\n            \"loc\": {\n              \"start\": {\n                \"line\": 3,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 5617,\n        \"end\": 5618,\n        \"loc\": {\n          \"start\": {\n            \"line\": 245,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 245,\n            \"column\": 2\n          }\n        }\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A polygon used to detect collisions\\n * @class\\n \",\n      \"start\": 32,\n      \"end\": 88,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 134,\n      \"end\": 703,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The angle of the body in radians\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 823,\n      \"end\": 896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 24,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The scale of the body along the X axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 922,\n      \"end\": 1001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The scale of the body along the Y axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 1031,\n      \"end\": 1110,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1141,\n      \"end\": 1156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1184,\n      \"end\": 1199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1218,\n      \"end\": 1233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1252,\n      \"end\": 1267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1294,\n      \"end\": 1309,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1340,\n      \"end\": 1355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 55,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 55,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1386,\n      \"end\": 1401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1424,\n      \"end\": 1439,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1462,\n      \"end\": 1477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1500,\n      \"end\": 1515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1538,\n      \"end\": 1553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1580,\n      \"end\": 1595,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1622,\n      \"end\": 1637,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1663,\n      \"end\": 1678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1706,\n      \"end\": 1721,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1754,\n      \"end\": 1769,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the polygon to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the shape to\\n\\t \",\n      \"start\": 1856,\n      \"end\": 2009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\\n\\t * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t \",\n      \"start\": 2660,\n      \"end\": 2941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\\n\\t \",\n      \"start\": 3429,\n      \"end\": 3533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 150,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Calculates the normals and edges of the polygon's sides\\n\\t \",\n      \"start\": 4973,\n      \"end\": 5041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 4\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": {\n        \"label\": \"import\",\n        \"keyword\": \"import\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"import\",\n      \"start\": 0,\n      \"end\": 6,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Body\",\n      \"start\": 7,\n      \"end\": 11,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"from\",\n      \"start\": 12,\n      \"end\": 16,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"string\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"./Body.mjs\",\n      \"start\": 17,\n      \"end\": 29,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 29,\n      \"end\": 30,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 1,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * A polygon used to detect collisions\\n * @class\\n \",\n      \"start\": 32,\n      \"end\": 88,\n      \"loc\": {\n        \"start\": {\n          \"line\": 3,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 89,\n      \"end\": 95,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 96,\n      \"end\": 103,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 104,\n      \"end\": 109,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Polygon\",\n      \"start\": 110,\n      \"end\": 117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"extends\",\n        \"keyword\": \"extends\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"extends\",\n      \"start\": 118,\n      \"end\": 125,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Body\",\n      \"start\": 126,\n      \"end\": 130,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 131,\n      \"end\": 132,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t \",\n      \"start\": 134,\n      \"end\": 703,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 705,\n      \"end\": 716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 716,\n      \"end\": 717,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 717,\n      \"end\": 718,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 719,\n      \"end\": 720,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 721,\n      \"end\": 722,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 722,\n      \"end\": 723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 724,\n      \"end\": 725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 726,\n      \"end\": 727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 728,\n      \"end\": 729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 729,\n      \"end\": 730,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 731,\n      \"end\": 737,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 738,\n      \"end\": 739,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 740,\n      \"end\": 741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 741,\n      \"end\": 742,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 742,\n      \"end\": 743,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 744,\n      \"end\": 749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 750,\n      \"end\": 751,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 752,\n      \"end\": 753,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 753,\n      \"end\": 754,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 755,\n      \"end\": 762,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 763,\n      \"end\": 764,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 765,\n      \"end\": 766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 766,\n      \"end\": 767,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 768,\n      \"end\": 775,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 71\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 776,\n      \"end\": 777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 72\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 778,\n      \"end\": 779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 74\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 779,\n      \"end\": 780,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 75\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 76\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 781,\n      \"end\": 788,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 77\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 84\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 789,\n      \"end\": 790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 85\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 86\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 791,\n      \"end\": 792,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 87\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 88\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 792,\n      \"end\": 793,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 88\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 89\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 794,\n      \"end\": 795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 90\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 91\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"super\",\n        \"keyword\": \"super\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"super\",\n      \"start\": 798,\n      \"end\": 803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 803,\n      \"end\": 804,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 804,\n      \"end\": 805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 805,\n      \"end\": 806,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 807,\n      \"end\": 808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 808,\n      \"end\": 809,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"padding\",\n      \"start\": 810,\n      \"end\": 817,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 817,\n      \"end\": 818,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 818,\n      \"end\": 819,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The angle of the body in radians\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 823,\n      \"end\": 896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 24,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 899,\n      \"end\": 903,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 903,\n      \"end\": 904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 904,\n      \"end\": 909,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 910,\n      \"end\": 911,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 912,\n      \"end\": 917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 917,\n      \"end\": 918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 25,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 25,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The scale of the body along the X axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 922,\n      \"end\": 1001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1004,\n      \"end\": 1008,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1008,\n      \"end\": 1009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 1009,\n      \"end\": 1016,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1017,\n      \"end\": 1018,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 1019,\n      \"end\": 1026,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1026,\n      \"end\": 1027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The scale of the body along the Y axis\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 1031,\n      \"end\": 1110,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1113,\n      \"end\": 1117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1117,\n      \"end\": 1118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 1118,\n      \"end\": 1125,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1126,\n      \"end\": 1127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 1128,\n      \"end\": 1135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1135,\n      \"end\": 1136,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1141,\n      \"end\": 1156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1159,\n      \"end\": 1163,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1163,\n      \"end\": 1164,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 1164,\n      \"end\": 1172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1173,\n      \"end\": 1174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 1175,\n      \"end\": 1179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1179,\n      \"end\": 1180,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1184,\n      \"end\": 1199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1202,\n      \"end\": 1206,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1206,\n      \"end\": 1207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_x\",\n      \"start\": 1207,\n      \"end\": 1209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1210,\n      \"end\": 1211,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 1212,\n      \"end\": 1213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1213,\n      \"end\": 1214,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1218,\n      \"end\": 1233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1236,\n      \"end\": 1240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1240,\n      \"end\": 1241,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_y\",\n      \"start\": 1241,\n      \"end\": 1243,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1244,\n      \"end\": 1245,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 1246,\n      \"end\": 1247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1247,\n      \"end\": 1248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1252,\n      \"end\": 1267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1270,\n      \"end\": 1274,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1274,\n      \"end\": 1275,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_angle\",\n      \"start\": 1275,\n      \"end\": 1281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1282,\n      \"end\": 1283,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 1284,\n      \"end\": 1289,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1289,\n      \"end\": 1290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1294,\n      \"end\": 1309,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1312,\n      \"end\": 1316,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1316,\n      \"end\": 1317,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_x\",\n      \"start\": 1317,\n      \"end\": 1325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1326,\n      \"end\": 1327,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 1328,\n      \"end\": 1335,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1335,\n      \"end\": 1336,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1340,\n      \"end\": 1355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 55,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 55,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1358,\n      \"end\": 1362,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1362,\n      \"end\": 1363,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_y\",\n      \"start\": 1363,\n      \"end\": 1371,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1372,\n      \"end\": 1373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 1374,\n      \"end\": 1381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1381,\n      \"end\": 1382,\n      \"loc\": {\n        \"start\": {\n          \"line\": 56,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 56,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1386,\n      \"end\": 1401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1404,\n      \"end\": 1408,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1408,\n      \"end\": 1409,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_x\",\n      \"start\": 1409,\n      \"end\": 1415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1416,\n      \"end\": 1417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1418,\n      \"end\": 1419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1419,\n      \"end\": 1420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1424,\n      \"end\": 1439,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1442,\n      \"end\": 1446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1446,\n      \"end\": 1447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_y\",\n      \"start\": 1447,\n      \"end\": 1453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1454,\n      \"end\": 1455,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1456,\n      \"end\": 1457,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1457,\n      \"end\": 1458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1462,\n      \"end\": 1477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1480,\n      \"end\": 1484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1484,\n      \"end\": 1485,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_x\",\n      \"start\": 1485,\n      \"end\": 1491,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1492,\n      \"end\": 1493,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1494,\n      \"end\": 1495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1495,\n      \"end\": 1496,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1500,\n      \"end\": 1515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1518,\n      \"end\": 1522,\n      \"loc\": {\n        \"start\": {\n          \"line\": 68,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1522,\n      \"end\": 1523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 68,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_y\",\n      \"start\": 1523,\n      \"end\": 1529,\n      \"loc\": {\n        \"start\": {\n          \"line\": 68,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1530,\n      \"end\": 1531,\n      \"loc\": {\n        \"start\": {\n          \"line\": 68,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1532,\n      \"end\": 1533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 68,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1533,\n      \"end\": 1534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 68,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 68,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1538,\n      \"end\": 1553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1556,\n      \"end\": 1560,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1560,\n      \"end\": 1561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_points\",\n      \"start\": 1561,\n      \"end\": 1568,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1569,\n      \"end\": 1570,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 1571,\n      \"end\": 1575,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1575,\n      \"end\": 1576,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1580,\n      \"end\": 1595,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1598,\n      \"end\": 1602,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1602,\n      \"end\": 1603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 1603,\n      \"end\": 1610,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1611,\n      \"end\": 1612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 1613,\n      \"end\": 1617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1617,\n      \"end\": 1618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1622,\n      \"end\": 1637,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 76,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1640,\n      \"end\": 1644,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1644,\n      \"end\": 1645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_edges\",\n      \"start\": 1645,\n      \"end\": 1651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1652,\n      \"end\": 1653,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 1654,\n      \"end\": 1658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1658,\n      \"end\": 1659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 77,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 77,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1663,\n      \"end\": 1678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 79,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 79,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1681,\n      \"end\": 1685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1685,\n      \"end\": 1686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_normals\",\n      \"start\": 1686,\n      \"end\": 1694,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1695,\n      \"end\": 1696,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 1697,\n      \"end\": 1701,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1701,\n      \"end\": 1702,\n      \"loc\": {\n        \"start\": {\n          \"line\": 80,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1706,\n      \"end\": 1721,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1724,\n      \"end\": 1728,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1728,\n      \"end\": 1729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 1729,\n      \"end\": 1742,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1743,\n      \"end\": 1744,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 1745,\n      \"end\": 1749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1749,\n      \"end\": 1750,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"* @private \",\n      \"start\": 1754,\n      \"end\": 1769,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1772,\n      \"end\": 1776,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1776,\n      \"end\": 1777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_normals\",\n      \"start\": 1777,\n      \"end\": 1791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1792,\n      \"end\": 1793,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 1794,\n      \"end\": 1798,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1798,\n      \"end\": 1799,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Polygon\",\n      \"start\": 1803,\n      \"end\": 1810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1810,\n      \"end\": 1811,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"prototype\",\n      \"start\": 1811,\n      \"end\": 1820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1820,\n      \"end\": 1821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"setPoints\",\n      \"start\": 1821,\n      \"end\": 1830,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1830,\n      \"end\": 1831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"call\",\n      \"start\": 1831,\n      \"end\": 1835,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1835,\n      \"end\": 1836,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1836,\n      \"end\": 1840,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1840,\n      \"end\": 1841,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 1842,\n      \"end\": 1848,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1848,\n      \"end\": 1849,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1849,\n      \"end\": 1850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1852,\n      \"end\": 1853,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Draws the polygon to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the shape to\\n\\t \",\n      \"start\": 1856,\n      \"end\": 2009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"draw\",\n      \"start\": 2011,\n      \"end\": 2015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2015,\n      \"end\": 2016,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 2016,\n      \"end\": 2023,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2023,\n      \"end\": 2024,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2025,\n      \"end\": 2026,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 2029,\n      \"end\": 2031,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2031,\n      \"end\": 2032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2036,\n      \"end\": 2040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2040,\n      \"end\": 2041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 2041,\n      \"end\": 2054,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 2055,\n      \"end\": 2057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2061,\n      \"end\": 2065,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2065,\n      \"end\": 2066,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 2066,\n      \"end\": 2067,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 2074,\n      \"end\": 2077,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2078,\n      \"end\": 2082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2082,\n      \"end\": 2083,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_x\",\n      \"start\": 2083,\n      \"end\": 2085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 2086,\n      \"end\": 2088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2092,\n      \"end\": 2096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2096,\n      \"end\": 2097,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 2097,\n      \"end\": 2098,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 2105,\n      \"end\": 2108,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2109,\n      \"end\": 2113,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2113,\n      \"end\": 2114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_y\",\n      \"start\": 2114,\n      \"end\": 2116,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 2117,\n      \"end\": 2119,\n      \"loc\": {\n        \"start\": {\n          \"line\": 99,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 99,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2123,\n      \"end\": 2127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2127,\n      \"end\": 2128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 2128,\n      \"end\": 2133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 2136,\n      \"end\": 2139,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2140,\n      \"end\": 2144,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2144,\n      \"end\": 2145,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_angle\",\n      \"start\": 2145,\n      \"end\": 2151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 2152,\n      \"end\": 2154,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2158,\n      \"end\": 2162,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2162,\n      \"end\": 2163,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 2163,\n      \"end\": 2170,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 2171,\n      \"end\": 2174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2175,\n      \"end\": 2179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2179,\n      \"end\": 2180,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_x\",\n      \"start\": 2180,\n      \"end\": 2188,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 2189,\n      \"end\": 2191,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2195,\n      \"end\": 2199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2199,\n      \"end\": 2200,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 2200,\n      \"end\": 2207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 2208,\n      \"end\": 2211,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2212,\n      \"end\": 2216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2216,\n      \"end\": 2217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_y\",\n      \"start\": 2217,\n      \"end\": 2225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 102,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 102,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2228,\n      \"end\": 2229,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2230,\n      \"end\": 2231,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 103,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2235,\n      \"end\": 2239,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2239,\n      \"end\": 2240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateCoords\",\n      \"start\": 2240,\n      \"end\": 2256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2256,\n      \"end\": 2257,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2257,\n      \"end\": 2258,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2258,\n      \"end\": 2259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 104,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 104,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2262,\n      \"end\": 2263,\n      \"loc\": {\n        \"start\": {\n          \"line\": 105,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 105,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2267,\n      \"end\": 2272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2273,\n      \"end\": 2279,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2280,\n      \"end\": 2281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 2282,\n      \"end\": 2286,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2286,\n      \"end\": 2287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 2287,\n      \"end\": 2294,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2294,\n      \"end\": 2295,\n      \"loc\": {\n        \"start\": {\n          \"line\": 107,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 107,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 2299,\n      \"end\": 2301,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2301,\n      \"end\": 2302,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2302,\n      \"end\": 2308,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2308,\n      \"end\": 2309,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 2309,\n      \"end\": 2315,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 2316,\n      \"end\": 2319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 2320,\n      \"end\": 2321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2321,\n      \"end\": 2322,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2323,\n      \"end\": 2324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 109,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 2328,\n      \"end\": 2335,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2335,\n      \"end\": 2336,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"moveTo\",\n      \"start\": 2336,\n      \"end\": 2342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2342,\n      \"end\": 2343,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2343,\n      \"end\": 2349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2349,\n      \"end\": 2350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2350,\n      \"end\": 2351,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2351,\n      \"end\": 2352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2352,\n      \"end\": 2353,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2354,\n      \"end\": 2360,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2360,\n      \"end\": 2361,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 2361,\n      \"end\": 2362,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2362,\n      \"end\": 2363,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2363,\n      \"end\": 2364,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2364,\n      \"end\": 2365,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 2369,\n      \"end\": 2376,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2376,\n      \"end\": 2377,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"arc\",\n      \"start\": 2377,\n      \"end\": 2380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2380,\n      \"end\": 2381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2381,\n      \"end\": 2387,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2387,\n      \"end\": 2388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2388,\n      \"end\": 2389,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2389,\n      \"end\": 2390,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2390,\n      \"end\": 2391,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2392,\n      \"end\": 2398,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2398,\n      \"end\": 2399,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 2399,\n      \"end\": 2400,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2400,\n      \"end\": 2401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2401,\n      \"end\": 2402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 2403,\n      \"end\": 2404,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2404,\n      \"end\": 2405,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2406,\n      \"end\": 2407,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2407,\n      \"end\": 2408,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 2409,\n      \"end\": 2413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2413,\n      \"end\": 2414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"PI\",\n      \"start\": 2414,\n      \"end\": 2416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 2417,\n      \"end\": 2418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 2419,\n      \"end\": 2420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2420,\n      \"end\": 2421,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2421,\n      \"end\": 2422,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2425,\n      \"end\": 2426,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 2429,\n      \"end\": 2433,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2434,\n      \"end\": 2435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 113,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 113,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 2439,\n      \"end\": 2446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2446,\n      \"end\": 2447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"moveTo\",\n      \"start\": 2447,\n      \"end\": 2453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2453,\n      \"end\": 2454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2454,\n      \"end\": 2460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2460,\n      \"end\": 2461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2461,\n      \"end\": 2462,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2462,\n      \"end\": 2463,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2463,\n      \"end\": 2464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2465,\n      \"end\": 2471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2471,\n      \"end\": 2472,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 2472,\n      \"end\": 2473,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2473,\n      \"end\": 2474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2474,\n      \"end\": 2475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2475,\n      \"end\": 2476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 2481,\n      \"end\": 2484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2484,\n      \"end\": 2485,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 2485,\n      \"end\": 2488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 2489,\n      \"end\": 2490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2491,\n      \"end\": 2492,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 2493,\n      \"end\": 2494,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2494,\n      \"end\": 2495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 2496,\n      \"end\": 2497,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 2498,\n      \"end\": 2499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2500,\n      \"end\": 2506,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2506,\n      \"end\": 2507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 2507,\n      \"end\": 2513,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2513,\n      \"end\": 2514,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 2515,\n      \"end\": 2516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 2517,\n      \"end\": 2519,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 2520,\n      \"end\": 2521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2521,\n      \"end\": 2522,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2523,\n      \"end\": 2524,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 2529,\n      \"end\": 2536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2536,\n      \"end\": 2537,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"lineTo\",\n      \"start\": 2537,\n      \"end\": 2543,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2543,\n      \"end\": 2544,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2544,\n      \"end\": 2550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2550,\n      \"end\": 2551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 2551,\n      \"end\": 2552,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2552,\n      \"end\": 2553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2553,\n      \"end\": 2554,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2555,\n      \"end\": 2561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2561,\n      \"end\": 2562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 2562,\n      \"end\": 2563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 2564,\n      \"end\": 2565,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 2566,\n      \"end\": 2567,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2567,\n      \"end\": 2568,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2568,\n      \"end\": 2569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2569,\n      \"end\": 2570,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2574,\n      \"end\": 2575,\n      \"loc\": {\n        \"start\": {\n          \"line\": 118,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 118,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 2580,\n      \"end\": 2582,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2582,\n      \"end\": 2583,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2583,\n      \"end\": 2589,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2589,\n      \"end\": 2590,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 2590,\n      \"end\": 2596,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 2597,\n      \"end\": 2598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 4,\n      \"start\": 2599,\n      \"end\": 2600,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2600,\n      \"end\": 2601,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2602,\n      \"end\": 2603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"context\",\n      \"start\": 2608,\n      \"end\": 2615,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2615,\n      \"end\": 2616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"lineTo\",\n      \"start\": 2616,\n      \"end\": 2622,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2622,\n      \"end\": 2623,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2623,\n      \"end\": 2629,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2629,\n      \"end\": 2630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2630,\n      \"end\": 2631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2631,\n      \"end\": 2632,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2632,\n      \"end\": 2633,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 2634,\n      \"end\": 2640,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2640,\n      \"end\": 2641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 2641,\n      \"end\": 2642,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2642,\n      \"end\": 2643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2643,\n      \"end\": 2644,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2644,\n      \"end\": 2645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2649,\n      \"end\": 2650,\n      \"loc\": {\n        \"start\": {\n          \"line\": 122,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 122,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2653,\n      \"end\": 2654,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2656,\n      \"end\": 2657,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\\n\\t * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t \",\n      \"start\": 2660,\n      \"end\": 2941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"setPoints\",\n      \"start\": 2943,\n      \"end\": 2952,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2952,\n      \"end\": 2953,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_points\",\n      \"start\": 2953,\n      \"end\": 2963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2963,\n      \"end\": 2964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2965,\n      \"end\": 2966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 130,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 130,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2969,\n      \"end\": 2974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 2975,\n      \"end\": 2980,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2981,\n      \"end\": 2982,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_points\",\n      \"start\": 2983,\n      \"end\": 2993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2993,\n      \"end\": 2994,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 2994,\n      \"end\": 3000,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3000,\n      \"end\": 3001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3005,\n      \"end\": 3009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3009,\n      \"end\": 3010,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_points\",\n      \"start\": 3010,\n      \"end\": 3017,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3019,\n      \"end\": 3020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 3021,\n      \"end\": 3024,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Float64Array\",\n      \"start\": 3025,\n      \"end\": 3037,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3037,\n      \"end\": 3038,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 3038,\n      \"end\": 3043,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3044,\n      \"end\": 3045,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3046,\n      \"end\": 3047,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3047,\n      \"end\": 3048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3048,\n      \"end\": 3049,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3052,\n      \"end\": 3056,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3056,\n      \"end\": 3057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3057,\n      \"end\": 3064,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3066,\n      \"end\": 3067,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 3068,\n      \"end\": 3071,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Float64Array\",\n      \"start\": 3072,\n      \"end\": 3084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3084,\n      \"end\": 3085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 3085,\n      \"end\": 3090,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3091,\n      \"end\": 3092,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3093,\n      \"end\": 3094,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3094,\n      \"end\": 3095,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3095,\n      \"end\": 3096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3099,\n      \"end\": 3103,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3103,\n      \"end\": 3104,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_edges\",\n      \"start\": 3104,\n      \"end\": 3110,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3113,\n      \"end\": 3114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 3115,\n      \"end\": 3118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Float64Array\",\n      \"start\": 3119,\n      \"end\": 3131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3131,\n      \"end\": 3132,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 3132,\n      \"end\": 3137,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3138,\n      \"end\": 3139,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3140,\n      \"end\": 3141,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3141,\n      \"end\": 3142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3142,\n      \"end\": 3143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3146,\n      \"end\": 3150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3150,\n      \"end\": 3151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_normals\",\n      \"start\": 3151,\n      \"end\": 3159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3160,\n      \"end\": 3161,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"new\",\n        \"keyword\": \"new\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"new\",\n      \"start\": 3162,\n      \"end\": 3165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Float64Array\",\n      \"start\": 3166,\n      \"end\": 3178,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3178,\n      \"end\": 3179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 3179,\n      \"end\": 3184,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3185,\n      \"end\": 3186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3187,\n      \"end\": 3188,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3188,\n      \"end\": 3189,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3189,\n      \"end\": 3190,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3194,\n      \"end\": 3199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 3200,\n      \"end\": 3206,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3207,\n      \"end\": 3208,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3209,\n      \"end\": 3213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3213,\n      \"end\": 3214,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_points\",\n      \"start\": 3214,\n      \"end\": 3221,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3221,\n      \"end\": 3222,\n      \"loc\": {\n        \"start\": {\n          \"line\": 138,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 138,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 3226,\n      \"end\": 3229,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3229,\n      \"end\": 3230,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3230,\n      \"end\": 3233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 3234,\n      \"end\": 3235,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3236,\n      \"end\": 3237,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3238,\n      \"end\": 3239,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3239,\n      \"end\": 3240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3241,\n      \"end\": 3243,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3244,\n      \"end\": 3245,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3246,\n      \"end\": 3247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3247,\n      \"end\": 3248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3249,\n      \"end\": 3251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3252,\n      \"end\": 3253,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 3254,\n      \"end\": 3255,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3255,\n      \"end\": 3256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 3257,\n      \"end\": 3258,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 3259,\n      \"end\": 3260,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 3261,\n      \"end\": 3266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3266,\n      \"end\": 3267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"++/--\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": true,\n        \"binop\": null\n      },\n      \"value\": \"++\",\n      \"start\": 3268,\n      \"end\": 3270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 3270,\n      \"end\": 3271,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3271,\n      \"end\": 3272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3273,\n      \"end\": 3275,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3276,\n      \"end\": 3278,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3279,\n      \"end\": 3280,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3280,\n      \"end\": 3281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3282,\n      \"end\": 3284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3285,\n      \"end\": 3287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3288,\n      \"end\": 3289,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3289,\n      \"end\": 3290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3291,\n      \"end\": 3292,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3296,\n      \"end\": 3301,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_point\",\n      \"start\": 3302,\n      \"end\": 3311,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3312,\n      \"end\": 3313,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_points\",\n      \"start\": 3314,\n      \"end\": 3324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3324,\n      \"end\": 3325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"i\",\n      \"start\": 3325,\n      \"end\": 3326,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3326,\n      \"end\": 3327,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3327,\n      \"end\": 3328,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 3333,\n      \"end\": 3339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3339,\n      \"end\": 3340,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3340,\n      \"end\": 3342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3342,\n      \"end\": 3343,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3344,\n      \"end\": 3345,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_point\",\n      \"start\": 3346,\n      \"end\": 3355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3355,\n      \"end\": 3356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3356,\n      \"end\": 3357,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3357,\n      \"end\": 3358,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3358,\n      \"end\": 3359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 3363,\n      \"end\": 3369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3369,\n      \"end\": 3370,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3370,\n      \"end\": 3372,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3372,\n      \"end\": 3373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3374,\n      \"end\": 3375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"new_point\",\n      \"start\": 3376,\n      \"end\": 3385,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3385,\n      \"end\": 3386,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 3386,\n      \"end\": 3387,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3387,\n      \"end\": 3388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3388,\n      \"end\": 3389,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3392,\n      \"end\": 3393,\n      \"loc\": {\n        \"start\": {\n          \"line\": 145,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 145,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3397,\n      \"end\": 3401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3401,\n      \"end\": 3402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 3402,\n      \"end\": 3415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3416,\n      \"end\": 3417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 3418,\n      \"end\": 3422,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3422,\n      \"end\": 3423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3425,\n      \"end\": 3426,\n      \"loc\": {\n        \"start\": {\n          \"line\": 148,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 148,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\\n\\t \",\n      \"start\": 3429,\n      \"end\": 3533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 150,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 152,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateCoords\",\n      \"start\": 3535,\n      \"end\": 3551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3551,\n      \"end\": 3552,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3552,\n      \"end\": 3553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3554,\n      \"end\": 3555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 153,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 153,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3558,\n      \"end\": 3563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 3564,\n      \"end\": 3565,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3572,\n      \"end\": 3573,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3574,\n      \"end\": 3578,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3578,\n      \"end\": 3579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 3579,\n      \"end\": 3580,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3580,\n      \"end\": 3581,\n      \"loc\": {\n        \"start\": {\n          \"line\": 154,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 154,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3584,\n      \"end\": 3589,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 3590,\n      \"end\": 3591,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3598,\n      \"end\": 3599,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3600,\n      \"end\": 3604,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3604,\n      \"end\": 3605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 3605,\n      \"end\": 3606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3606,\n      \"end\": 3607,\n      \"loc\": {\n        \"start\": {\n          \"line\": 155,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 155,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3610,\n      \"end\": 3615,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 3616,\n      \"end\": 3621,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3624,\n      \"end\": 3625,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3626,\n      \"end\": 3630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3630,\n      \"end\": 3631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 3631,\n      \"end\": 3636,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3636,\n      \"end\": 3637,\n      \"loc\": {\n        \"start\": {\n          \"line\": 156,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 156,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3640,\n      \"end\": 3645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 3646,\n      \"end\": 3653,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3654,\n      \"end\": 3655,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3656,\n      \"end\": 3660,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3660,\n      \"end\": 3661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 3661,\n      \"end\": 3668,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3668,\n      \"end\": 3669,\n      \"loc\": {\n        \"start\": {\n          \"line\": 157,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3672,\n      \"end\": 3677,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 3678,\n      \"end\": 3685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3686,\n      \"end\": 3687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3688,\n      \"end\": 3692,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3692,\n      \"end\": 3693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 3693,\n      \"end\": 3700,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3700,\n      \"end\": 3701,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3704,\n      \"end\": 3709,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 3710,\n      \"end\": 3716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3718,\n      \"end\": 3719,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3720,\n      \"end\": 3724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3724,\n      \"end\": 3725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_points\",\n      \"start\": 3725,\n      \"end\": 3732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3732,\n      \"end\": 3733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3736,\n      \"end\": 3741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 3742,\n      \"end\": 3748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3750,\n      \"end\": 3751,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 3752,\n      \"end\": 3756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3756,\n      \"end\": 3757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3757,\n      \"end\": 3764,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3764,\n      \"end\": 3765,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3768,\n      \"end\": 3773,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 3774,\n      \"end\": 3779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3782,\n      \"end\": 3783,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 3784,\n      \"end\": 3790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3790,\n      \"end\": 3791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 3791,\n      \"end\": 3797,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3797,\n      \"end\": 3798,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3802,\n      \"end\": 3805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 3806,\n      \"end\": 3811,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3811,\n      \"end\": 3812,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3815,\n      \"end\": 3818,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 3819,\n      \"end\": 3824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3824,\n      \"end\": 3825,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3828,\n      \"end\": 3831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 3832,\n      \"end\": 3837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3837,\n      \"end\": 3838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3841,\n      \"end\": 3844,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 3845,\n      \"end\": 3850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3850,\n      \"end\": 3851,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 3855,\n      \"end\": 3858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3858,\n      \"end\": 3859,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3859,\n      \"end\": 3862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3863,\n      \"end\": 3865,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3866,\n      \"end\": 3867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3868,\n      \"end\": 3869,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3869,\n      \"end\": 3870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3871,\n      \"end\": 3873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3874,\n      \"end\": 3875,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 3876,\n      \"end\": 3877,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3877,\n      \"end\": 3878,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3879,\n      \"end\": 3881,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 3882,\n      \"end\": 3883,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 3884,\n      \"end\": 3889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3889,\n      \"end\": 3890,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3891,\n      \"end\": 3893,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3894,\n      \"end\": 3896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3897,\n      \"end\": 3898,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3898,\n      \"end\": 3899,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3900,\n      \"end\": 3902,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3903,\n      \"end\": 3905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3906,\n      \"end\": 3907,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3907,\n      \"end\": 3908,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3909,\n      \"end\": 3910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 168,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 168,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3914,\n      \"end\": 3917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 3918,\n      \"end\": 3925,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3926,\n      \"end\": 3927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 3928,\n      \"end\": 3934,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3934,\n      \"end\": 3935,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3935,\n      \"end\": 3937,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3937,\n      \"end\": 3938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3939,\n      \"end\": 3940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 3941,\n      \"end\": 3948,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3948,\n      \"end\": 3949,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3953,\n      \"end\": 3956,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 3957,\n      \"end\": 3964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3965,\n      \"end\": 3966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"points\",\n      \"start\": 3967,\n      \"end\": 3973,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3973,\n      \"end\": 3974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3974,\n      \"end\": 3976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3976,\n      \"end\": 3977,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 3978,\n      \"end\": 3979,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 3980,\n      \"end\": 3987,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3987,\n      \"end\": 3988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 3993,\n      \"end\": 3995,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3995,\n      \"end\": 3996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 3996,\n      \"end\": 4001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4001,\n      \"end\": 4002,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4003,\n      \"end\": 4004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4009,\n      \"end\": 4014,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"cos\",\n      \"start\": 4015,\n      \"end\": 4018,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4021,\n      \"end\": 4022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 4023,\n      \"end\": 4027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4027,\n      \"end\": 4028,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"cos\",\n      \"start\": 4028,\n      \"end\": 4031,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4031,\n      \"end\": 4032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 4032,\n      \"end\": 4037,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4037,\n      \"end\": 4038,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4038,\n      \"end\": 4039,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4044,\n      \"end\": 4049,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sin\",\n      \"start\": 4050,\n      \"end\": 4053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4056,\n      \"end\": 4057,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 4058,\n      \"end\": 4062,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4062,\n      \"end\": 4063,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sin\",\n      \"start\": 4063,\n      \"end\": 4066,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4066,\n      \"end\": 4067,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 4067,\n      \"end\": 4072,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4072,\n      \"end\": 4073,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4073,\n      \"end\": 4074,\n      \"loc\": {\n        \"start\": {\n          \"line\": 174,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 174,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4079,\n      \"end\": 4084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 175,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_x\",\n      \"start\": 4085,\n      \"end\": 4090,\n      \"loc\": {\n        \"start\": {\n          \"line\": 175,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4091,\n      \"end\": 4092,\n      \"loc\": {\n        \"start\": {\n          \"line\": 175,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4093,\n      \"end\": 4100,\n      \"loc\": {\n        \"start\": {\n          \"line\": 175,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4100,\n      \"end\": 4101,\n      \"loc\": {\n        \"start\": {\n          \"line\": 175,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4106,\n      \"end\": 4111,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_y\",\n      \"start\": 4112,\n      \"end\": 4117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4118,\n      \"end\": 4119,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4120,\n      \"end\": 4127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4127,\n      \"end\": 4128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4134,\n      \"end\": 4141,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4142,\n      \"end\": 4143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_x\",\n      \"start\": 4144,\n      \"end\": 4149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 4150,\n      \"end\": 4151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"cos\",\n      \"start\": 4152,\n      \"end\": 4155,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 4156,\n      \"end\": 4157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_y\",\n      \"start\": 4158,\n      \"end\": 4163,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 4164,\n      \"end\": 4165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sin\",\n      \"start\": 4166,\n      \"end\": 4169,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4169,\n      \"end\": 4170,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4175,\n      \"end\": 4182,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4183,\n      \"end\": 4184,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_x\",\n      \"start\": 4185,\n      \"end\": 4190,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 4191,\n      \"end\": 4192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sin\",\n      \"start\": 4193,\n      \"end\": 4196,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 4197,\n      \"end\": 4198,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_y\",\n      \"start\": 4199,\n      \"end\": 4204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 4205,\n      \"end\": 4206,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"cos\",\n      \"start\": 4207,\n      \"end\": 4210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4210,\n      \"end\": 4211,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4215,\n      \"end\": 4216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 180,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 180,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4221,\n      \"end\": 4228,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 4229,\n      \"end\": 4231,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 4232,\n      \"end\": 4233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4233,\n      \"end\": 4234,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4238,\n      \"end\": 4245,\n      \"loc\": {\n        \"start\": {\n          \"line\": 183,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 4246,\n      \"end\": 4248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 183,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 4249,\n      \"end\": 4250,\n      \"loc\": {\n        \"start\": {\n          \"line\": 183,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4250,\n      \"end\": 4251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 183,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 4256,\n      \"end\": 4262,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4262,\n      \"end\": 4263,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 4263,\n      \"end\": 4265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4265,\n      \"end\": 4266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4267,\n      \"end\": 4268,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4269,\n      \"end\": 4276,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4276,\n      \"end\": 4277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 4281,\n      \"end\": 4287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4287,\n      \"end\": 4288,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 4288,\n      \"end\": 4290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4290,\n      \"end\": 4291,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4292,\n      \"end\": 4293,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4294,\n      \"end\": 4301,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4301,\n      \"end\": 4302,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4307,\n      \"end\": 4309,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4309,\n      \"end\": 4310,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 4310,\n      \"end\": 4312,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 4313,\n      \"end\": 4316,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 4317,\n      \"end\": 4318,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4318,\n      \"end\": 4319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4320,\n      \"end\": 4321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 4326,\n      \"end\": 4331,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4332,\n      \"end\": 4333,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 4334,\n      \"end\": 4339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4340,\n      \"end\": 4341,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4342,\n      \"end\": 4349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4349,\n      \"end\": 4350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 4355,\n      \"end\": 4360,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4361,\n      \"end\": 4362,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 4363,\n      \"end\": 4368,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4369,\n      \"end\": 4370,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4371,\n      \"end\": 4378,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4378,\n      \"end\": 4379,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4383,\n      \"end\": 4384,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 4388,\n      \"end\": 4392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4393,\n      \"end\": 4394,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4399,\n      \"end\": 4401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4401,\n      \"end\": 4402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4402,\n      \"end\": 4409,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 4410,\n      \"end\": 4411,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 4412,\n      \"end\": 4417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4417,\n      \"end\": 4418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4419,\n      \"end\": 4420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 4426,\n      \"end\": 4431,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4432,\n      \"end\": 4433,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4434,\n      \"end\": 4441,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4441,\n      \"end\": 4442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4447,\n      \"end\": 4448,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 4453,\n      \"end\": 4457,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4458,\n      \"end\": 4460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4460,\n      \"end\": 4461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4461,\n      \"end\": 4468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 4469,\n      \"end\": 4470,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 4471,\n      \"end\": 4476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4476,\n      \"end\": 4477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4478,\n      \"end\": 4479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 4485,\n      \"end\": 4490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4491,\n      \"end\": 4492,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4493,\n      \"end\": 4500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4500,\n      \"end\": 4501,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4506,\n      \"end\": 4507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4513,\n      \"end\": 4515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4515,\n      \"end\": 4516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4516,\n      \"end\": 4523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 4524,\n      \"end\": 4525,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 4526,\n      \"end\": 4531,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4531,\n      \"end\": 4532,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4533,\n      \"end\": 4534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 4540,\n      \"end\": 4545,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4546,\n      \"end\": 4547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4548,\n      \"end\": 4555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4555,\n      \"end\": 4556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4561,\n      \"end\": 4562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 202,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 202,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 4567,\n      \"end\": 4571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4572,\n      \"end\": 4574,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4574,\n      \"end\": 4575,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4575,\n      \"end\": 4582,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 4583,\n      \"end\": 4584,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 4585,\n      \"end\": 4590,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4590,\n      \"end\": 4591,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4592,\n      \"end\": 4593,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 4599,\n      \"end\": 4604,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4605,\n      \"end\": 4606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 4607,\n      \"end\": 4614,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4614,\n      \"end\": 4615,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4620,\n      \"end\": 4621,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4625,\n      \"end\": 4626,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4629,\n      \"end\": 4630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 207,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 207,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4634,\n      \"end\": 4638,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4638,\n      \"end\": 4639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_x\",\n      \"start\": 4639,\n      \"end\": 4641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4654,\n      \"end\": 4655,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 4656,\n      \"end\": 4657,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4657,\n      \"end\": 4658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4661,\n      \"end\": 4665,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4665,\n      \"end\": 4666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_y\",\n      \"start\": 4666,\n      \"end\": 4668,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4681,\n      \"end\": 4682,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 4683,\n      \"end\": 4684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4684,\n      \"end\": 4685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4688,\n      \"end\": 4692,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4692,\n      \"end\": 4693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_angle\",\n      \"start\": 4693,\n      \"end\": 4699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4708,\n      \"end\": 4709,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 4710,\n      \"end\": 4715,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4715,\n      \"end\": 4716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 211,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 211,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4719,\n      \"end\": 4723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4723,\n      \"end\": 4724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_x\",\n      \"start\": 4724,\n      \"end\": 4732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4739,\n      \"end\": 4740,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 4741,\n      \"end\": 4748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4748,\n      \"end\": 4749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4752,\n      \"end\": 4756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4756,\n      \"end\": 4757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_y\",\n      \"start\": 4757,\n      \"end\": 4765,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4772,\n      \"end\": 4773,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 4774,\n      \"end\": 4781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4781,\n      \"end\": 4782,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4785,\n      \"end\": 4789,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4789,\n      \"end\": 4790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_x\",\n      \"start\": 4790,\n      \"end\": 4796,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4805,\n      \"end\": 4806,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_x\",\n      \"start\": 4807,\n      \"end\": 4812,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4812,\n      \"end\": 4813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4816,\n      \"end\": 4820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4820,\n      \"end\": 4821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_y\",\n      \"start\": 4821,\n      \"end\": 4827,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4836,\n      \"end\": 4837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"min_y\",\n      \"start\": 4838,\n      \"end\": 4843,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4843,\n      \"end\": 4844,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4847,\n      \"end\": 4851,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4851,\n      \"end\": 4852,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_x\",\n      \"start\": 4852,\n      \"end\": 4858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4867,\n      \"end\": 4868,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_x\",\n      \"start\": 4869,\n      \"end\": 4874,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4874,\n      \"end\": 4875,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4878,\n      \"end\": 4882,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4882,\n      \"end\": 4883,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_y\",\n      \"start\": 4883,\n      \"end\": 4889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4898,\n      \"end\": 4899,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"max_y\",\n      \"start\": 4900,\n      \"end\": 4905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4905,\n      \"end\": 4906,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4909,\n      \"end\": 4913,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4913,\n      \"end\": 4914,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 4914,\n      \"end\": 4927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4929,\n      \"end\": 4930,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 4931,\n      \"end\": 4936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4936,\n      \"end\": 4937,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 4940,\n      \"end\": 4944,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4944,\n      \"end\": 4945,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_normals\",\n      \"start\": 4945,\n      \"end\": 4959,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4960,\n      \"end\": 4961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 4962,\n      \"end\": 4966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4966,\n      \"end\": 4967,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4969,\n      \"end\": 4970,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * Calculates the normals and edges of the polygon's sides\\n\\t \",\n      \"start\": 4973,\n      \"end\": 5041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 222,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateNormals\",\n      \"start\": 5043,\n      \"end\": 5060,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5060,\n      \"end\": 5061,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5061,\n      \"end\": 5062,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5063,\n      \"end\": 5064,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5067,\n      \"end\": 5072,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 5073,\n      \"end\": 5079,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5081,\n      \"end\": 5082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5083,\n      \"end\": 5087,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5087,\n      \"end\": 5088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 5088,\n      \"end\": 5095,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5095,\n      \"end\": 5096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5099,\n      \"end\": 5104,\n      \"loc\": {\n        \"start\": {\n          \"line\": 227,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 227,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edges\",\n      \"start\": 5105,\n      \"end\": 5110,\n      \"loc\": {\n        \"start\": {\n          \"line\": 227,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 227,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5113,\n      \"end\": 5114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 227,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 227,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5115,\n      \"end\": 5119,\n      \"loc\": {\n        \"start\": {\n          \"line\": 227,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 227,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5119,\n      \"end\": 5120,\n      \"loc\": {\n        \"start\": {\n          \"line\": 227,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 227,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_edges\",\n      \"start\": 5120,\n      \"end\": 5126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 227,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 227,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5126,\n      \"end\": 5127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 227,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 227,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5130,\n      \"end\": 5135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normals\",\n      \"start\": 5136,\n      \"end\": 5143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5144,\n      \"end\": 5145,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5146,\n      \"end\": 5150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5150,\n      \"end\": 5151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_normals\",\n      \"start\": 5151,\n      \"end\": 5159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5159,\n      \"end\": 5160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5163,\n      \"end\": 5168,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 5169,\n      \"end\": 5174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5177,\n      \"end\": 5178,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 5179,\n      \"end\": 5185,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5185,\n      \"end\": 5186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5186,\n      \"end\": 5192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5192,\n      \"end\": 5193,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 5197,\n      \"end\": 5200,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5200,\n      \"end\": 5201,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 5201,\n      \"end\": 5204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5205,\n      \"end\": 5207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5208,\n      \"end\": 5209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5210,\n      \"end\": 5211,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5211,\n      \"end\": 5212,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5213,\n      \"end\": 5215,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5216,\n      \"end\": 5217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 5218,\n      \"end\": 5219,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5219,\n      \"end\": 5220,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5221,\n      \"end\": 5223,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 5224,\n      \"end\": 5225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 5226,\n      \"end\": 5231,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5231,\n      \"end\": 5232,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5233,\n      \"end\": 5235,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 5236,\n      \"end\": 5238,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 5239,\n      \"end\": 5240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5240,\n      \"end\": 5241,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5242,\n      \"end\": 5244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 5245,\n      \"end\": 5247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 5248,\n      \"end\": 5249,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5249,\n      \"end\": 5250,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5251,\n      \"end\": 5252,\n      \"loc\": {\n        \"start\": {\n          \"line\": 231,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 231,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5256,\n      \"end\": 5261,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"next\",\n      \"start\": 5262,\n      \"end\": 5266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5269,\n      \"end\": 5270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5271,\n      \"end\": 5273,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5274,\n      \"end\": 5275,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 5276,\n      \"end\": 5277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 5278,\n      \"end\": 5279,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 5280,\n      \"end\": 5285,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5286,\n      \"end\": 5287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5288,\n      \"end\": 5290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5291,\n      \"end\": 5292,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 5293,\n      \"end\": 5294,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5295,\n      \"end\": 5296,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5297,\n      \"end\": 5298,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5298,\n      \"end\": 5299,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5303,\n      \"end\": 5308,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 5309,\n      \"end\": 5310,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5316,\n      \"end\": 5317,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 5318,\n      \"end\": 5324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5324,\n      \"end\": 5325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"next\",\n      \"start\": 5325,\n      \"end\": 5329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5329,\n      \"end\": 5330,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5331,\n      \"end\": 5332,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 5333,\n      \"end\": 5339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5339,\n      \"end\": 5340,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5340,\n      \"end\": 5342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5342,\n      \"end\": 5343,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5343,\n      \"end\": 5344,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5348,\n      \"end\": 5353,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 5354,\n      \"end\": 5355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5361,\n      \"end\": 5362,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 5363,\n      \"end\": 5369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5369,\n      \"end\": 5370,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"next\",\n      \"start\": 5370,\n      \"end\": 5374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5375,\n      \"end\": 5376,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 5377,\n      \"end\": 5378,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5378,\n      \"end\": 5379,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5380,\n      \"end\": 5381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coords\",\n      \"start\": 5382,\n      \"end\": 5388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5388,\n      \"end\": 5389,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5389,\n      \"end\": 5391,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5391,\n      \"end\": 5392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5392,\n      \"end\": 5393,\n      \"loc\": {\n        \"start\": {\n          \"line\": 234,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 234,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5397,\n      \"end\": 5402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5403,\n      \"end\": 5409,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5410,\n      \"end\": 5411,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 5412,\n      \"end\": 5413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 5414,\n      \"end\": 5416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 5417,\n      \"end\": 5418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5419,\n      \"end\": 5420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 5421,\n      \"end\": 5425,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5425,\n      \"end\": 5426,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sqrt\",\n      \"start\": 5426,\n      \"end\": 5430,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5430,\n      \"end\": 5431,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 5431,\n      \"end\": 5432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5433,\n      \"end\": 5434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 5435,\n      \"end\": 5436,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5437,\n      \"end\": 5438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 5439,\n      \"end\": 5440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5441,\n      \"end\": 5442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 5443,\n      \"end\": 5444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5444,\n      \"end\": 5445,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5446,\n      \"end\": 5447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5448,\n      \"end\": 5449,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5449,\n      \"end\": 5450,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edges\",\n      \"start\": 5455,\n      \"end\": 5460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5460,\n      \"end\": 5461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5461,\n      \"end\": 5463,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5463,\n      \"end\": 5464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5467,\n      \"end\": 5468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 5469,\n      \"end\": 5470,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5470,\n      \"end\": 5471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edges\",\n      \"start\": 5475,\n      \"end\": 5480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5480,\n      \"end\": 5481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5481,\n      \"end\": 5483,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5483,\n      \"end\": 5484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5487,\n      \"end\": 5488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 5489,\n      \"end\": 5490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5490,\n      \"end\": 5491,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normals\",\n      \"start\": 5495,\n      \"end\": 5502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5502,\n      \"end\": 5503,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5503,\n      \"end\": 5505,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5505,\n      \"end\": 5506,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5507,\n      \"end\": 5508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5509,\n      \"end\": 5515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5516,\n      \"end\": 5517,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 5518,\n      \"end\": 5519,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 5520,\n      \"end\": 5521,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5522,\n      \"end\": 5528,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5529,\n      \"end\": 5530,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5531,\n      \"end\": 5532,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5532,\n      \"end\": 5533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normals\",\n      \"start\": 5537,\n      \"end\": 5544,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5544,\n      \"end\": 5545,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5545,\n      \"end\": 5547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5547,\n      \"end\": 5548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5549,\n      \"end\": 5550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5551,\n      \"end\": 5557,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5558,\n      \"end\": 5559,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5560,\n      \"end\": 5561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 5561,\n      \"end\": 5562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 5563,\n      \"end\": 5564,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5565,\n      \"end\": 5571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5572,\n      \"end\": 5573,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5574,\n      \"end\": 5575,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5575,\n      \"end\": 5576,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5579,\n      \"end\": 5580,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 5584,\n      \"end\": 5588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5588,\n      \"end\": 5589,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_normals\",\n      \"start\": 5589,\n      \"end\": 5603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5604,\n      \"end\": 5605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 5606,\n      \"end\": 5611,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5611,\n      \"end\": 5612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5614,\n      \"end\": 5615,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5616,\n      \"end\": 5617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5617,\n      \"end\": 5618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5619,\n      \"end\": 5619,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/Result.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 1158,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 61,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 1158,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 61,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 211,\n        \"end\": 1156,\n        \"loc\": {\n          \"start\": {\n            \"line\": 7,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 60,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"ClassDeclaration\",\n          \"start\": 226,\n          \"end\": 1156,\n          \"loc\": {\n            \"start\": {\n              \"line\": 7,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 60,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 232,\n            \"end\": 238,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 7,\n                \"column\": 27\n              },\n              \"identifierName\": \"Result\"\n            },\n            \"name\": \"Result\",\n            \"leadingComments\": null\n          },\n          \"superClass\": null,\n          \"body\": {\n            \"type\": \"ClassBody\",\n            \"start\": 239,\n            \"end\": 1156,\n            \"loc\": {\n              \"start\": {\n                \"line\": 7,\n                \"column\": 28\n              },\n              \"end\": {\n                \"line\": 60,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"ClassMethod\",\n                \"start\": 269,\n                \"end\": 1154,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 11,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 59,\n                    \"column\": 2\n                  }\n                },\n                \"static\": false,\n                \"computed\": false,\n                \"key\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 269,\n                  \"end\": 280,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 11,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 11,\n                      \"column\": 12\n                    },\n                    \"identifierName\": \"constructor\"\n                  },\n                  \"name\": \"constructor\",\n                  \"leadingComments\": null\n                },\n                \"kind\": \"constructor\",\n                \"id\": null,\n                \"generator\": false,\n                \"expression\": false,\n                \"async\": false,\n                \"params\": [],\n                \"body\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 283,\n                  \"end\": 1154,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 11,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 59,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 364,\n                      \"end\": 387,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 16,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 16,\n                          \"column\": 25\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 364,\n                        \"end\": 386,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 16,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 16,\n                            \"column\": 24\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 364,\n                          \"end\": 378,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 16,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 16,\n                              \"column\": 16\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 364,\n                            \"end\": 368,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 16,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 16,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 369,\n                            \"end\": 378,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 16,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 16,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"collision\"\n                            },\n                            \"name\": \"collision\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 381,\n                          \"end\": 386,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 16,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 16,\n                              \"column\": 24\n                            }\n                          },\n                          \"value\": false\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc True if a collision was detected\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n                          \"start\": 287,\n                          \"end\": 361,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 12,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 15,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The source body tested\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n                          \"start\": 391,\n                          \"end\": 468,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 21,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 471,\n                      \"end\": 485,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 22,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 22,\n                          \"column\": 16\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 471,\n                        \"end\": 484,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 22,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 22,\n                            \"column\": 15\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 471,\n                          \"end\": 477,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 22,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 8\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 471,\n                            \"end\": 475,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 22,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 22,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 476,\n                            \"end\": 477,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 22,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 22,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"a\"\n                            },\n                            \"name\": \"a\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 480,\n                          \"end\": 484,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 22,\n                              \"column\": 11\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 15\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The source body tested\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n                          \"start\": 391,\n                          \"end\": 468,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 21,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The target body tested against\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n                          \"start\": 489,\n                          \"end\": 574,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 24,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 27,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 577,\n                      \"end\": 591,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 28,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 28,\n                          \"column\": 16\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 577,\n                        \"end\": 590,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 28,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 28,\n                            \"column\": 15\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 577,\n                          \"end\": 583,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 28,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 28,\n                              \"column\": 8\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 577,\n                            \"end\": 581,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 28,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 28,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 582,\n                            \"end\": 583,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 28,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 28,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"b\"\n                            },\n                            \"name\": \"b\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 586,\n                          \"end\": 590,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 28,\n                              \"column\": 11\n                            },\n                            \"end\": {\n                              \"line\": 28,\n                              \"column\": 15\n                            }\n                          }\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The target body tested against\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n                          \"start\": 489,\n                          \"end\": 574,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 24,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 27,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc True if A is completely contained within B\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n                          \"start\": 595,\n                          \"end\": 679,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 30,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 682,\n                      \"end\": 702,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 34,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 34,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 682,\n                        \"end\": 701,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 34,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 34,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 682,\n                          \"end\": 693,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 34,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 34,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 682,\n                            \"end\": 686,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 34,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 34,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 687,\n                            \"end\": 693,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 34,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 34,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"a_in_b\"\n                            },\n                            \"name\": \"a_in_b\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 696,\n                          \"end\": 701,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 34,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 34,\n                              \"column\": 21\n                            }\n                          },\n                          \"value\": false\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc True if A is completely contained within B\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n                          \"start\": 595,\n                          \"end\": 679,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 30,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc True if B is completely contained within A\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n                          \"start\": 706,\n                          \"end\": 790,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 36,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 39,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 793,\n                      \"end\": 813,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 40,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 40,\n                          \"column\": 22\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 793,\n                        \"end\": 812,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 40,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 40,\n                            \"column\": 21\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 793,\n                          \"end\": 804,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 40,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 40,\n                              \"column\": 13\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 793,\n                            \"end\": 797,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 40,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 40,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 798,\n                            \"end\": 804,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 40,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 40,\n                                \"column\": 13\n                              },\n                              \"identifierName\": \"a_in_b\"\n                            },\n                            \"name\": \"a_in_b\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 807,\n                          \"end\": 812,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 40,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 40,\n                              \"column\": 21\n                            }\n                          },\n                          \"value\": false\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc True if B is completely contained within A\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n                          \"start\": 706,\n                          \"end\": 790,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 36,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 39,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The magnitude of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 817,\n                          \"end\": 903,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 42,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 45,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 906,\n                      \"end\": 923,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 46,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 46,\n                          \"column\": 19\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 906,\n                        \"end\": 922,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 46,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 46,\n                            \"column\": 18\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 906,\n                          \"end\": 918,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 46,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 46,\n                              \"column\": 14\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 906,\n                            \"end\": 910,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 46,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 46,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 911,\n                            \"end\": 918,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 46,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 46,\n                                \"column\": 14\n                              },\n                              \"identifierName\": \"overlap\"\n                            },\n                            \"name\": \"overlap\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 921,\n                          \"end\": 922,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 46,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 46,\n                              \"column\": 18\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The magnitude of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 817,\n                          \"end\": 903,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 42,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 45,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The X direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 927,\n                          \"end\": 1015,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 48,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 51,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1018,\n                      \"end\": 1037,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 52,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 52,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1018,\n                        \"end\": 1036,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 52,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 52,\n                            \"column\": 20\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1018,\n                          \"end\": 1032,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 16\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1018,\n                            \"end\": 1022,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 52,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 52,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1023,\n                            \"end\": 1032,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 52,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 52,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"overlap_x\"\n                            },\n                            \"name\": \"overlap_x\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1035,\n                          \"end\": 1036,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 52,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 52,\n                              \"column\": 20\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The X direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 927,\n                          \"end\": 1015,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 48,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 51,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ],\n                      \"trailingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The Y direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 1041,\n                          \"end\": 1129,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 54,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 57,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1132,\n                      \"end\": 1151,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 58,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 58,\n                          \"column\": 21\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1132,\n                        \"end\": 1150,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 58,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 58,\n                            \"column\": 20\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1132,\n                          \"end\": 1146,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 58,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 58,\n                              \"column\": 16\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"ThisExpression\",\n                            \"start\": 1132,\n                            \"end\": 1136,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 58,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 58,\n                                \"column\": 6\n                              }\n                            },\n                            \"leadingComments\": null\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1137,\n                            \"end\": 1146,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 58,\n                                \"column\": 7\n                              },\n                              \"end\": {\n                                \"line\": 58,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"overlap_y\"\n                            },\n                            \"name\": \"overlap_y\"\n                          },\n                          \"computed\": false,\n                          \"leadingComments\": null\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 1149,\n                          \"end\": 1150,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 58,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 58,\n                              \"column\": 20\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        },\n                        \"leadingComments\": null\n                      },\n                      \"leadingComments\": [\n                        {\n                          \"type\": \"CommentBlock\",\n                          \"value\": \"*\\n\\t\\t * @desc The Y direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n                          \"start\": 1041,\n                          \"end\": 1129,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 54,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 57,\n                              \"column\": 5\n                            }\n                          }\n                        }\n                      ]\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"leadingComments\": [\n                  {\n                    \"type\": \"CommentBlock\",\n                    \"value\": \"*\\n\\t * @constructor\\n\\t \",\n                    \"start\": 242,\n                    \"end\": 267,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 8,\n                        \"column\": 1\n                      },\n                      \"end\": {\n                        \"line\": 10,\n                        \"column\": 4\n                      }\n                    }\n                  }\n                ]\n              }\n            ]\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * An object used to collect the detailed results of a collision test\\n *\\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\\n * @class\\n \",\n              \"start\": 0,\n              \"end\": 210,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 6,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * An object used to collect the detailed results of a collision test\\n *\\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\\n * @class\\n \",\n            \"start\": 0,\n            \"end\": 210,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 6,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 1156,\n        \"end\": 1157,\n        \"loc\": {\n          \"start\": {\n            \"line\": 60,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 60,\n            \"column\": 2\n          }\n        }\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * An object used to collect the detailed results of a collision test\\n *\\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\\n * @class\\n \",\n      \"start\": 0,\n      \"end\": 210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 242,\n      \"end\": 267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc True if a collision was detected\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n      \"start\": 287,\n      \"end\": 361,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The source body tested\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n      \"start\": 391,\n      \"end\": 468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The target body tested against\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n      \"start\": 489,\n      \"end\": 574,\n      \"loc\": {\n        \"start\": {\n          \"line\": 24,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc True if A is completely contained within B\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n      \"start\": 595,\n      \"end\": 679,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc True if B is completely contained within A\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n      \"start\": 706,\n      \"end\": 790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The magnitude of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 817,\n      \"end\": 903,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The X direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 927,\n      \"end\": 1015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The Y direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 1041,\n      \"end\": 1129,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 5\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * An object used to collect the detailed results of a collision test\\n *\\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\\n * @class\\n \",\n      \"start\": 0,\n      \"end\": 210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 6,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 211,\n      \"end\": 217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 218,\n      \"end\": 225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"class\",\n        \"keyword\": \"class\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"class\",\n      \"start\": 226,\n      \"end\": 231,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Result\",\n      \"start\": 232,\n      \"end\": 238,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 239,\n      \"end\": 240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 7,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 7,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t * @constructor\\n\\t \",\n      \"start\": 242,\n      \"end\": 267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 8,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"constructor\",\n      \"start\": 269,\n      \"end\": 280,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 280,\n      \"end\": 281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 281,\n      \"end\": 282,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 283,\n      \"end\": 284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc True if a collision was detected\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n      \"start\": 287,\n      \"end\": 361,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 15,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 364,\n      \"end\": 368,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 368,\n      \"end\": 369,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collision\",\n      \"start\": 369,\n      \"end\": 378,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 379,\n      \"end\": 380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 381,\n      \"end\": 386,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 386,\n      \"end\": 387,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The source body tested\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n      \"start\": 391,\n      \"end\": 468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 471,\n      \"end\": 475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 475,\n      \"end\": 476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 476,\n      \"end\": 477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 478,\n      \"end\": 479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 480,\n      \"end\": 484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 484,\n      \"end\": 485,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The target body tested against\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t \",\n      \"start\": 489,\n      \"end\": 574,\n      \"loc\": {\n        \"start\": {\n          \"line\": 24,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 577,\n      \"end\": 581,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 581,\n      \"end\": 582,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 582,\n      \"end\": 583,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 584,\n      \"end\": 585,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 586,\n      \"end\": 590,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 590,\n      \"end\": 591,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc True if A is completely contained within B\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n      \"start\": 595,\n      \"end\": 679,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 682,\n      \"end\": 686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 686,\n      \"end\": 687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 687,\n      \"end\": 693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 694,\n      \"end\": 695,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 696,\n      \"end\": 701,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 701,\n      \"end\": 702,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc True if B is completely contained within A\\n\\t\\t * @type {Boolean}\\n\\t\\t \",\n      \"start\": 706,\n      \"end\": 790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 793,\n      \"end\": 797,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 797,\n      \"end\": 798,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 798,\n      \"end\": 804,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 805,\n      \"end\": 806,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 807,\n      \"end\": 812,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 812,\n      \"end\": 813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The magnitude of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 817,\n      \"end\": 903,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 906,\n      \"end\": 910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 910,\n      \"end\": 911,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 911,\n      \"end\": 918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 919,\n      \"end\": 920,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 921,\n      \"end\": 922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 922,\n      \"end\": 923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The X direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 927,\n      \"end\": 1015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 51,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1018,\n      \"end\": 1022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1022,\n      \"end\": 1023,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 1023,\n      \"end\": 1032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1033,\n      \"end\": 1034,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1035,\n      \"end\": 1036,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1036,\n      \"end\": 1037,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n\\t\\t * @desc The Y direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t \",\n      \"start\": 1041,\n      \"end\": 1129,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"this\",\n        \"keyword\": \"this\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"this\",\n      \"start\": 1132,\n      \"end\": 1136,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1136,\n      \"end\": 1137,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 1137,\n      \"end\": 1146,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1147,\n      \"end\": 1148,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 1149,\n      \"end\": 1150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1150,\n      \"end\": 1151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1153,\n      \"end\": 1154,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1155,\n      \"end\": 1156,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1156,\n      \"end\": 1157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 60,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 60,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1158,\n      \"end\": 1158,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/ast/source/modules/SAT.mjs.json",
    "content": "{\n  \"type\": \"File\",\n  \"start\": 0,\n  \"end\": 11274,\n  \"loc\": {\n    \"start\": {\n      \"line\": 1,\n      \"column\": 0\n    },\n    \"end\": {\n      \"line\": 412,\n      \"column\": 0\n    }\n  },\n  \"program\": {\n    \"type\": \"Program\",\n    \"start\": 0,\n    \"end\": 11274,\n    \"loc\": {\n      \"start\": {\n        \"line\": 1,\n        \"column\": 0\n      },\n      \"end\": {\n        \"line\": 412,\n        \"column\": 0\n      }\n    },\n    \"sourceType\": \"module\",\n    \"body\": [\n      {\n        \"type\": \"ExportDefaultDeclaration\",\n        \"start\": 463,\n        \"end\": 1710,\n        \"loc\": {\n          \"start\": {\n            \"line\": 10,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 74,\n            \"column\": 1\n          }\n        },\n        \"declaration\": {\n          \"type\": \"FunctionDeclaration\",\n          \"start\": 478,\n          \"end\": 1710,\n          \"loc\": {\n            \"start\": {\n              \"line\": 10,\n              \"column\": 15\n            },\n            \"end\": {\n              \"line\": 74,\n              \"column\": 1\n            }\n          },\n          \"id\": {\n            \"type\": \"Identifier\",\n            \"start\": 487,\n            \"end\": 490,\n            \"loc\": {\n              \"start\": {\n                \"line\": 10,\n                \"column\": 24\n              },\n              \"end\": {\n                \"line\": 10,\n                \"column\": 27\n              },\n              \"identifierName\": \"SAT\"\n            },\n            \"name\": \"SAT\",\n            \"leadingComments\": null\n          },\n          \"generator\": false,\n          \"expression\": false,\n          \"async\": false,\n          \"params\": [\n            {\n              \"type\": \"Identifier\",\n              \"start\": 491,\n              \"end\": 492,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 10,\n                  \"column\": 28\n                },\n                \"end\": {\n                  \"line\": 10,\n                  \"column\": 29\n                },\n                \"identifierName\": \"a\"\n              },\n              \"name\": \"a\"\n            },\n            {\n              \"type\": \"Identifier\",\n              \"start\": 494,\n              \"end\": 495,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 10,\n                  \"column\": 31\n                },\n                \"end\": {\n                  \"line\": 10,\n                  \"column\": 32\n                },\n                \"identifierName\": \"b\"\n              },\n              \"name\": \"b\"\n            },\n            {\n              \"type\": \"AssignmentPattern\",\n              \"start\": 497,\n              \"end\": 510,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 10,\n                  \"column\": 34\n                },\n                \"end\": {\n                  \"line\": 10,\n                  \"column\": 47\n                }\n              },\n              \"left\": {\n                \"type\": \"Identifier\",\n                \"start\": 497,\n                \"end\": 503,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 10,\n                    \"column\": 34\n                  },\n                  \"end\": {\n                    \"line\": 10,\n                    \"column\": 40\n                  },\n                  \"identifierName\": \"result\"\n                },\n                \"name\": \"result\"\n              },\n              \"right\": {\n                \"type\": \"NullLiteral\",\n                \"start\": 506,\n                \"end\": 510,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 10,\n                    \"column\": 43\n                  },\n                  \"end\": {\n                    \"line\": 10,\n                    \"column\": 47\n                  }\n                }\n              }\n            },\n            {\n              \"type\": \"AssignmentPattern\",\n              \"start\": 512,\n              \"end\": 523,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 10,\n                  \"column\": 49\n                },\n                \"end\": {\n                  \"line\": 10,\n                  \"column\": 60\n                }\n              },\n              \"left\": {\n                \"type\": \"Identifier\",\n                \"start\": 512,\n                \"end\": 516,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 10,\n                    \"column\": 49\n                  },\n                  \"end\": {\n                    \"line\": 10,\n                    \"column\": 53\n                  },\n                  \"identifierName\": \"aabb\"\n                },\n                \"name\": \"aabb\"\n              },\n              \"right\": {\n                \"type\": \"BooleanLiteral\",\n                \"start\": 519,\n                \"end\": 523,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 10,\n                    \"column\": 56\n                  },\n                  \"end\": {\n                    \"line\": 10,\n                    \"column\": 60\n                  }\n                },\n                \"value\": true\n              }\n            }\n          ],\n          \"body\": {\n            \"type\": \"BlockStatement\",\n            \"start\": 525,\n            \"end\": 1710,\n            \"loc\": {\n              \"start\": {\n                \"line\": 10,\n                \"column\": 62\n              },\n              \"end\": {\n                \"line\": 74,\n                \"column\": 1\n              }\n            },\n            \"body\": [\n              {\n                \"type\": \"VariableDeclaration\",\n                \"start\": 528,\n                \"end\": 557,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 11,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 11,\n                    \"column\": 30\n                  }\n                },\n                \"declarations\": [\n                  {\n                    \"type\": \"VariableDeclarator\",\n                    \"start\": 534,\n                    \"end\": 556,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 11,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 11,\n                        \"column\": 29\n                      }\n                    },\n                    \"id\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 534,\n                      \"end\": 543,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 11,\n                          \"column\": 7\n                        },\n                        \"end\": {\n                          \"line\": 11,\n                          \"column\": 16\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"init\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 546,\n                      \"end\": 556,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 11,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 11,\n                          \"column\": 29\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 546,\n                        \"end\": 547,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 11,\n                            \"column\": 19\n                          },\n                          \"end\": {\n                            \"line\": 11,\n                            \"column\": 20\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 548,\n                        \"end\": 556,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 11,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 11,\n                            \"column\": 29\n                          },\n                          \"identifierName\": \"_polygon\"\n                        },\n                        \"name\": \"_polygon\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                ],\n                \"kind\": \"const\"\n              },\n              {\n                \"type\": \"VariableDeclaration\",\n                \"start\": 559,\n                \"end\": 588,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 12,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 12,\n                    \"column\": 30\n                  }\n                },\n                \"declarations\": [\n                  {\n                    \"type\": \"VariableDeclarator\",\n                    \"start\": 565,\n                    \"end\": 587,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 12,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 12,\n                        \"column\": 29\n                      }\n                    },\n                    \"id\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 565,\n                      \"end\": 574,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 12,\n                          \"column\": 7\n                        },\n                        \"end\": {\n                          \"line\": 12,\n                          \"column\": 16\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"init\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 577,\n                      \"end\": 587,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 12,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 12,\n                          \"column\": 29\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 577,\n                        \"end\": 578,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 12,\n                            \"column\": 19\n                          },\n                          \"end\": {\n                            \"line\": 12,\n                            \"column\": 20\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 579,\n                        \"end\": 587,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 12,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 12,\n                            \"column\": 29\n                          },\n                          \"identifierName\": \"_polygon\"\n                        },\n                        \"name\": \"_polygon\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                ],\n                \"kind\": \"const\"\n              },\n              {\n                \"type\": \"VariableDeclaration\",\n                \"start\": 591,\n                \"end\": 613,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 14,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 14,\n                    \"column\": 23\n                  }\n                },\n                \"declarations\": [\n                  {\n                    \"type\": \"VariableDeclarator\",\n                    \"start\": 595,\n                    \"end\": 612,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 14,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 14,\n                        \"column\": 22\n                      }\n                    },\n                    \"id\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 595,\n                      \"end\": 604,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 14\n                        },\n                        \"identifierName\": \"collision\"\n                      },\n                      \"name\": \"collision\"\n                    },\n                    \"init\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 607,\n                      \"end\": 612,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 14,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 14,\n                          \"column\": 22\n                        }\n                      },\n                      \"value\": false\n                    }\n                  }\n                ],\n                \"kind\": \"let\"\n              },\n              {\n                \"type\": \"IfStatement\",\n                \"start\": 616,\n                \"end\": 808,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 16,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 24,\n                    \"column\": 2\n                  }\n                },\n                \"test\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 619,\n                  \"end\": 625,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 16,\n                      \"column\": 10\n                    },\n                    \"identifierName\": \"result\"\n                  },\n                  \"name\": \"result\"\n                },\n                \"consequent\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 627,\n                  \"end\": 808,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 16,\n                      \"column\": 12\n                    },\n                    \"end\": {\n                      \"line\": 24,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 631,\n                      \"end\": 652,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 17,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 17,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 631,\n                        \"end\": 651,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 17,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 17,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 631,\n                          \"end\": 639,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 10\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 631,\n                            \"end\": 637,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 638,\n                            \"end\": 639,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 17,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 17,\n                                \"column\": 10\n                              },\n                              \"identifierName\": \"a\"\n                            },\n                            \"name\": \"a\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 650,\n                          \"end\": 651,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 17,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 17,\n                              \"column\": 22\n                            },\n                            \"identifierName\": \"a\"\n                          },\n                          \"name\": \"a\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 655,\n                      \"end\": 676,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 18,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 18,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 655,\n                        \"end\": 675,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 18,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 18,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 655,\n                          \"end\": 663,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 10\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 655,\n                            \"end\": 661,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 18,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 18,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 662,\n                            \"end\": 663,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 18,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 18,\n                                \"column\": 10\n                              },\n                              \"identifierName\": \"b\"\n                            },\n                            \"name\": \"b\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 674,\n                          \"end\": 675,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 18,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 18,\n                              \"column\": 22\n                            },\n                            \"identifierName\": \"b\"\n                          },\n                          \"name\": \"b\"\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 679,\n                      \"end\": 703,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 19,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 19,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 679,\n                        \"end\": 702,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 19,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 19,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 679,\n                          \"end\": 692,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 19,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 679,\n                            \"end\": 685,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 19,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 19,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 686,\n                            \"end\": 692,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 19,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 19,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"a_in_b\"\n                            },\n                            \"name\": \"a_in_b\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 698,\n                          \"end\": 702,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 19,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 19,\n                              \"column\": 25\n                            }\n                          },\n                          \"value\": true\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 706,\n                      \"end\": 730,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 20,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 20,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 706,\n                        \"end\": 729,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 20,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 20,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 706,\n                          \"end\": 719,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 20,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 20,\n                              \"column\": 15\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 706,\n                            \"end\": 712,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 20,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 20,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 713,\n                            \"end\": 719,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 20,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 20,\n                                \"column\": 15\n                              },\n                              \"identifierName\": \"b_in_a\"\n                            },\n                            \"name\": \"b_in_a\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"BooleanLiteral\",\n                          \"start\": 725,\n                          \"end\": 729,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 20,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 20,\n                              \"column\": 25\n                            }\n                          },\n                          \"value\": true\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 733,\n                      \"end\": 757,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 21,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 21,\n                          \"column\": 26\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 733,\n                        \"end\": 756,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 21,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 21,\n                            \"column\": 25\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 733,\n                          \"end\": 747,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 21,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 21,\n                              \"column\": 16\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 733,\n                            \"end\": 739,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 21,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 21,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 740,\n                            \"end\": 747,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 21,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 21,\n                                \"column\": 16\n                              },\n                              \"identifierName\": \"overlap\"\n                            },\n                            \"name\": \"overlap\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 752,\n                          \"end\": 756,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 21,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 21,\n                              \"column\": 25\n                            }\n                          }\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 760,\n                      \"end\": 781,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 22,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 22,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 760,\n                        \"end\": 780,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 22,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 22,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 760,\n                          \"end\": 776,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 22,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 760,\n                            \"end\": 766,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 22,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 22,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 767,\n                            \"end\": 776,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 22,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 22,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"overlap_x\"\n                            },\n                            \"name\": \"overlap_x\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 779,\n                          \"end\": 780,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 22,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 22,\n                              \"column\": 22\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        }\n                      }\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 784,\n                      \"end\": 805,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 23,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 23,\n                          \"column\": 23\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 784,\n                        \"end\": 804,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 23,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 23,\n                            \"column\": 22\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 784,\n                          \"end\": 800,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 23,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 784,\n                            \"end\": 790,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 23,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 23,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 791,\n                            \"end\": 800,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 23,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 23,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"overlap_y\"\n                            },\n                            \"name\": \"overlap_y\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 803,\n                          \"end\": 804,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 23,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 23,\n                              \"column\": 22\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"alternate\": null\n              },\n              {\n                \"type\": \"IfStatement\",\n                \"start\": 811,\n                \"end\": 1030,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 26,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 37,\n                    \"column\": 2\n                  }\n                },\n                \"test\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 814,\n                  \"end\": 823,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 26,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 26,\n                      \"column\": 13\n                    },\n                    \"identifierName\": \"a_polygon\"\n                  },\n                  \"name\": \"a_polygon\"\n                },\n                \"consequent\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 825,\n                  \"end\": 1030,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 26,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 37,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 829,\n                      \"end\": 1027,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 27,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 36,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 836,\n                        \"end\": 992,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 28,\n                            \"column\": 3\n                          },\n                          \"end\": {\n                            \"line\": 33,\n                            \"column\": 27\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"LogicalExpression\",\n                          \"start\": 836,\n                          \"end\": 961,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 28,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 32,\n                              \"column\": 27\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"LogicalExpression\",\n                            \"start\": 836,\n                            \"end\": 930,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 28,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 31,\n                                \"column\": 25\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 836,\n                              \"end\": 901,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 28,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 30,\n                                  \"column\": 21\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"LogicalExpression\",\n                                \"start\": 836,\n                                \"end\": 876,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 28,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 29,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 836,\n                                  \"end\": 851,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 28,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 28,\n                                      \"column\": 18\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 836,\n                                    \"end\": 837,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 28,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 28,\n                                        \"column\": 4\n                                      },\n                                      \"identifierName\": \"a\"\n                                    },\n                                    \"name\": \"a\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 838,\n                                    \"end\": 851,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 28,\n                                        \"column\": 5\n                                      },\n                                      \"end\": {\n                                        \"line\": 28,\n                                        \"column\": 18\n                                      },\n                                      \"identifierName\": \"_dirty_coords\"\n                                    },\n                                    \"name\": \"_dirty_coords\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"||\",\n                                \"right\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 858,\n                                  \"end\": 876,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 29,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 29,\n                                      \"column\": 21\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 858,\n                                    \"end\": 861,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 29,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 29,\n                                        \"column\": 6\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 858,\n                                      \"end\": 859,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 29,\n                                          \"column\": 3\n                                        },\n                                        \"end\": {\n                                          \"line\": 29,\n                                          \"column\": 4\n                                        },\n                                        \"identifierName\": \"a\"\n                                      },\n                                      \"name\": \"a\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 860,\n                                      \"end\": 861,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 29,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 29,\n                                          \"column\": 6\n                                        },\n                                        \"identifierName\": \"x\"\n                                      },\n                                      \"name\": \"x\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"operator\": \"!==\",\n                                  \"right\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 872,\n                                    \"end\": 876,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 29,\n                                        \"column\": 17\n                                      },\n                                      \"end\": {\n                                        \"line\": 29,\n                                        \"column\": 21\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 872,\n                                      \"end\": 873,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 29,\n                                          \"column\": 17\n                                        },\n                                        \"end\": {\n                                          \"line\": 29,\n                                          \"column\": 18\n                                        },\n                                        \"identifierName\": \"a\"\n                                      },\n                                      \"name\": \"a\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 874,\n                                      \"end\": 876,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 29,\n                                          \"column\": 19\n                                        },\n                                        \"end\": {\n                                          \"line\": 29,\n                                          \"column\": 21\n                                        },\n                                        \"identifierName\": \"_x\"\n                                      },\n                                      \"name\": \"_x\"\n                                    },\n                                    \"computed\": false\n                                  }\n                                }\n                              },\n                              \"operator\": \"||\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 883,\n                                \"end\": 901,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 30,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 30,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 883,\n                                  \"end\": 886,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 30,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 30,\n                                      \"column\": 6\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 883,\n                                    \"end\": 884,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 30,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 30,\n                                        \"column\": 4\n                                      },\n                                      \"identifierName\": \"a\"\n                                    },\n                                    \"name\": \"a\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 885,\n                                    \"end\": 886,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 30,\n                                        \"column\": 5\n                                      },\n                                      \"end\": {\n                                        \"line\": 30,\n                                        \"column\": 6\n                                      },\n                                      \"identifierName\": \"y\"\n                                    },\n                                    \"name\": \"y\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"!==\",\n                                \"right\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 897,\n                                  \"end\": 901,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 30,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 30,\n                                      \"column\": 21\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 897,\n                                    \"end\": 898,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 30,\n                                        \"column\": 17\n                                      },\n                                      \"end\": {\n                                        \"line\": 30,\n                                        \"column\": 18\n                                      },\n                                      \"identifierName\": \"a\"\n                                    },\n                                    \"name\": \"a\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 899,\n                                    \"end\": 901,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 30,\n                                        \"column\": 19\n                                      },\n                                      \"end\": {\n                                        \"line\": 30,\n                                        \"column\": 21\n                                      },\n                                      \"identifierName\": \"_y\"\n                                    },\n                                    \"name\": \"_y\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            },\n                            \"operator\": \"||\",\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 908,\n                              \"end\": 930,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 31,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 31,\n                                  \"column\": 25\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 908,\n                                \"end\": 915,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 31,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 31,\n                                    \"column\": 10\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 908,\n                                  \"end\": 909,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 31,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 31,\n                                      \"column\": 4\n                                    },\n                                    \"identifierName\": \"a\"\n                                  },\n                                  \"name\": \"a\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 910,\n                                  \"end\": 915,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 31,\n                                      \"column\": 5\n                                    },\n                                    \"end\": {\n                                      \"line\": 31,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"angle\"\n                                  },\n                                  \"name\": \"angle\"\n                                },\n                                \"computed\": false\n                              },\n                              \"operator\": \"!==\",\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 922,\n                                \"end\": 930,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 31,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 31,\n                                    \"column\": 25\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 922,\n                                  \"end\": 923,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 31,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 31,\n                                      \"column\": 18\n                                    },\n                                    \"identifierName\": \"a\"\n                                  },\n                                  \"name\": \"a\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 924,\n                                  \"end\": 930,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 31,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 31,\n                                      \"column\": 25\n                                    },\n                                    \"identifierName\": \"_angle\"\n                                  },\n                                  \"name\": \"_angle\"\n                                },\n                                \"computed\": false\n                              }\n                            }\n                          },\n                          \"operator\": \"||\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 937,\n                            \"end\": 961,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 32,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 32,\n                                \"column\": 27\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 937,\n                              \"end\": 946,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 32,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 32,\n                                  \"column\": 12\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 937,\n                                \"end\": 938,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 32,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 32,\n                                    \"column\": 4\n                                  },\n                                  \"identifierName\": \"a\"\n                                },\n                                \"name\": \"a\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 939,\n                                \"end\": 946,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 32,\n                                    \"column\": 5\n                                  },\n                                  \"end\": {\n                                    \"line\": 32,\n                                    \"column\": 12\n                                  },\n                                  \"identifierName\": \"scale_x\"\n                                },\n                                \"name\": \"scale_x\"\n                              },\n                              \"computed\": false\n                            },\n                            \"operator\": \"!==\",\n                            \"right\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 951,\n                              \"end\": 961,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 32,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 32,\n                                  \"column\": 27\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 951,\n                                \"end\": 952,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 32,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 32,\n                                    \"column\": 18\n                                  },\n                                  \"identifierName\": \"a\"\n                                },\n                                \"name\": \"a\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 953,\n                                \"end\": 961,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 32,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 32,\n                                    \"column\": 27\n                                  },\n                                  \"identifierName\": \"_scale_x\"\n                                },\n                                \"name\": \"_scale_x\"\n                              },\n                              \"computed\": false\n                            }\n                          }\n                        },\n                        \"operator\": \"||\",\n                        \"right\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 968,\n                          \"end\": 992,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 33,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 33,\n                              \"column\": 27\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 968,\n                            \"end\": 977,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 12\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 968,\n                              \"end\": 969,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 33,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 33,\n                                  \"column\": 4\n                                },\n                                \"identifierName\": \"a\"\n                              },\n                              \"name\": \"a\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 970,\n                              \"end\": 977,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 33,\n                                  \"column\": 5\n                                },\n                                \"end\": {\n                                  \"line\": 33,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"scale_y\"\n                              },\n                              \"name\": \"scale_y\"\n                            },\n                            \"computed\": false\n                          },\n                          \"operator\": \"!==\",\n                          \"right\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 982,\n                            \"end\": 992,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 33,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 33,\n                                \"column\": 27\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 982,\n                              \"end\": 983,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 33,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 33,\n                                  \"column\": 18\n                                },\n                                \"identifierName\": \"a\"\n                              },\n                              \"name\": \"a\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 984,\n                              \"end\": 992,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 33,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 33,\n                                  \"column\": 27\n                                },\n                                \"identifierName\": \"_scale_y\"\n                              },\n                              \"name\": \"_scale_y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 997,\n                        \"end\": 1027,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 34,\n                            \"column\": 4\n                          },\n                          \"end\": {\n                            \"line\": 36,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 1002,\n                            \"end\": 1023,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 35,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 35,\n                                \"column\": 24\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 1002,\n                              \"end\": 1022,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 35,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 35,\n                                  \"column\": 23\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1002,\n                                \"end\": 1020,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 35,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 35,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1002,\n                                  \"end\": 1003,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 35,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 35,\n                                      \"column\": 4\n                                    },\n                                    \"identifierName\": \"a\"\n                                  },\n                                  \"name\": \"a\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1004,\n                                  \"end\": 1020,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 35,\n                                      \"column\": 5\n                                    },\n                                    \"end\": {\n                                      \"line\": 35,\n                                      \"column\": 21\n                                    },\n                                    \"identifierName\": \"_calculateCoords\"\n                                  },\n                                  \"name\": \"_calculateCoords\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"alternate\": null\n              },\n              {\n                \"type\": \"IfStatement\",\n                \"start\": 1033,\n                \"end\": 1252,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 39,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 50,\n                    \"column\": 2\n                  }\n                },\n                \"test\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 1036,\n                  \"end\": 1045,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 39,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 39,\n                      \"column\": 13\n                    },\n                    \"identifierName\": \"b_polygon\"\n                  },\n                  \"name\": \"b_polygon\"\n                },\n                \"consequent\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 1047,\n                  \"end\": 1252,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 39,\n                      \"column\": 15\n                    },\n                    \"end\": {\n                      \"line\": 50,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 1051,\n                      \"end\": 1249,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 40,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 49,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 1058,\n                        \"end\": 1214,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 41,\n                            \"column\": 3\n                          },\n                          \"end\": {\n                            \"line\": 46,\n                            \"column\": 27\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"LogicalExpression\",\n                          \"start\": 1058,\n                          \"end\": 1183,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 41,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 45,\n                              \"column\": 27\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"LogicalExpression\",\n                            \"start\": 1058,\n                            \"end\": 1152,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 41,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 44,\n                                \"column\": 25\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 1058,\n                              \"end\": 1123,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 41,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 43,\n                                  \"column\": 21\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"LogicalExpression\",\n                                \"start\": 1058,\n                                \"end\": 1098,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 41,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 42,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 1058,\n                                  \"end\": 1073,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 41,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 41,\n                                      \"column\": 18\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1058,\n                                    \"end\": 1059,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 41,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 41,\n                                        \"column\": 4\n                                      },\n                                      \"identifierName\": \"b\"\n                                    },\n                                    \"name\": \"b\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1060,\n                                    \"end\": 1073,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 41,\n                                        \"column\": 5\n                                      },\n                                      \"end\": {\n                                        \"line\": 41,\n                                        \"column\": 18\n                                      },\n                                      \"identifierName\": \"_dirty_coords\"\n                                    },\n                                    \"name\": \"_dirty_coords\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"||\",\n                                \"right\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 1080,\n                                  \"end\": 1098,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 42,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 42,\n                                      \"column\": 21\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 1080,\n                                    \"end\": 1083,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 42,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 42,\n                                        \"column\": 6\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1080,\n                                      \"end\": 1081,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 42,\n                                          \"column\": 3\n                                        },\n                                        \"end\": {\n                                          \"line\": 42,\n                                          \"column\": 4\n                                        },\n                                        \"identifierName\": \"b\"\n                                      },\n                                      \"name\": \"b\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1082,\n                                      \"end\": 1083,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 42,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 42,\n                                          \"column\": 6\n                                        },\n                                        \"identifierName\": \"x\"\n                                      },\n                                      \"name\": \"x\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"operator\": \"!==\",\n                                  \"right\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 1094,\n                                    \"end\": 1098,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 42,\n                                        \"column\": 17\n                                      },\n                                      \"end\": {\n                                        \"line\": 42,\n                                        \"column\": 21\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1094,\n                                      \"end\": 1095,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 42,\n                                          \"column\": 17\n                                        },\n                                        \"end\": {\n                                          \"line\": 42,\n                                          \"column\": 18\n                                        },\n                                        \"identifierName\": \"b\"\n                                      },\n                                      \"name\": \"b\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 1096,\n                                      \"end\": 1098,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 42,\n                                          \"column\": 19\n                                        },\n                                        \"end\": {\n                                          \"line\": 42,\n                                          \"column\": 21\n                                        },\n                                        \"identifierName\": \"_x\"\n                                      },\n                                      \"name\": \"_x\"\n                                    },\n                                    \"computed\": false\n                                  }\n                                }\n                              },\n                              \"operator\": \"||\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 1105,\n                                \"end\": 1123,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 43,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 43,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 1105,\n                                  \"end\": 1108,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 43,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 43,\n                                      \"column\": 6\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1105,\n                                    \"end\": 1106,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 43,\n                                        \"column\": 3\n                                      },\n                                      \"end\": {\n                                        \"line\": 43,\n                                        \"column\": 4\n                                      },\n                                      \"identifierName\": \"b\"\n                                    },\n                                    \"name\": \"b\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1107,\n                                    \"end\": 1108,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 43,\n                                        \"column\": 5\n                                      },\n                                      \"end\": {\n                                        \"line\": 43,\n                                        \"column\": 6\n                                      },\n                                      \"identifierName\": \"y\"\n                                    },\n                                    \"name\": \"y\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"operator\": \"!==\",\n                                \"right\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 1119,\n                                  \"end\": 1123,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 43,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 43,\n                                      \"column\": 21\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1119,\n                                    \"end\": 1120,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 43,\n                                        \"column\": 17\n                                      },\n                                      \"end\": {\n                                        \"line\": 43,\n                                        \"column\": 18\n                                      },\n                                      \"identifierName\": \"b\"\n                                    },\n                                    \"name\": \"b\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1121,\n                                    \"end\": 1123,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 43,\n                                        \"column\": 19\n                                      },\n                                      \"end\": {\n                                        \"line\": 43,\n                                        \"column\": 21\n                                      },\n                                      \"identifierName\": \"_y\"\n                                    },\n                                    \"name\": \"_y\"\n                                  },\n                                  \"computed\": false\n                                }\n                              }\n                            },\n                            \"operator\": \"||\",\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 1130,\n                              \"end\": 1152,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 44,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 44,\n                                  \"column\": 25\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1130,\n                                \"end\": 1137,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 44,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 44,\n                                    \"column\": 10\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1130,\n                                  \"end\": 1131,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 44,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 44,\n                                      \"column\": 4\n                                    },\n                                    \"identifierName\": \"b\"\n                                  },\n                                  \"name\": \"b\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1132,\n                                  \"end\": 1137,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 44,\n                                      \"column\": 5\n                                    },\n                                    \"end\": {\n                                      \"line\": 44,\n                                      \"column\": 10\n                                    },\n                                    \"identifierName\": \"angle\"\n                                  },\n                                  \"name\": \"angle\"\n                                },\n                                \"computed\": false\n                              },\n                              \"operator\": \"!==\",\n                              \"right\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1144,\n                                \"end\": 1152,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 44,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 44,\n                                    \"column\": 25\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1144,\n                                  \"end\": 1145,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 44,\n                                      \"column\": 17\n                                    },\n                                    \"end\": {\n                                      \"line\": 44,\n                                      \"column\": 18\n                                    },\n                                    \"identifierName\": \"b\"\n                                  },\n                                  \"name\": \"b\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1146,\n                                  \"end\": 1152,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 44,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 44,\n                                      \"column\": 25\n                                    },\n                                    \"identifierName\": \"_angle\"\n                                  },\n                                  \"name\": \"_angle\"\n                                },\n                                \"computed\": false\n                              }\n                            }\n                          },\n                          \"operator\": \"||\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 1159,\n                            \"end\": 1183,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 45,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 45,\n                                \"column\": 27\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 1159,\n                              \"end\": 1168,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 45,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 45,\n                                  \"column\": 12\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1159,\n                                \"end\": 1160,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 45,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 45,\n                                    \"column\": 4\n                                  },\n                                  \"identifierName\": \"b\"\n                                },\n                                \"name\": \"b\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1161,\n                                \"end\": 1168,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 45,\n                                    \"column\": 5\n                                  },\n                                  \"end\": {\n                                    \"line\": 45,\n                                    \"column\": 12\n                                  },\n                                  \"identifierName\": \"scale_x\"\n                                },\n                                \"name\": \"scale_x\"\n                              },\n                              \"computed\": false\n                            },\n                            \"operator\": \"!==\",\n                            \"right\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 1173,\n                              \"end\": 1183,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 45,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 45,\n                                  \"column\": 27\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1173,\n                                \"end\": 1174,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 45,\n                                    \"column\": 17\n                                  },\n                                  \"end\": {\n                                    \"line\": 45,\n                                    \"column\": 18\n                                  },\n                                  \"identifierName\": \"b\"\n                                },\n                                \"name\": \"b\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1175,\n                                \"end\": 1183,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 45,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 45,\n                                    \"column\": 27\n                                  },\n                                  \"identifierName\": \"_scale_x\"\n                                },\n                                \"name\": \"_scale_x\"\n                              },\n                              \"computed\": false\n                            }\n                          }\n                        },\n                        \"operator\": \"||\",\n                        \"right\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 1190,\n                          \"end\": 1214,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 46,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 46,\n                              \"column\": 27\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1190,\n                            \"end\": 1199,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 46,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 46,\n                                \"column\": 12\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1190,\n                              \"end\": 1191,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 46,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 46,\n                                  \"column\": 4\n                                },\n                                \"identifierName\": \"b\"\n                              },\n                              \"name\": \"b\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1192,\n                              \"end\": 1199,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 46,\n                                  \"column\": 5\n                                },\n                                \"end\": {\n                                  \"line\": 46,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"scale_y\"\n                              },\n                              \"name\": \"scale_y\"\n                            },\n                            \"computed\": false\n                          },\n                          \"operator\": \"!==\",\n                          \"right\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 1204,\n                            \"end\": 1214,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 46,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 46,\n                                \"column\": 27\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1204,\n                              \"end\": 1205,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 46,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 46,\n                                  \"column\": 18\n                                },\n                                \"identifierName\": \"b\"\n                              },\n                              \"name\": \"b\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1206,\n                              \"end\": 1214,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 46,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 46,\n                                  \"column\": 27\n                                },\n                                \"identifierName\": \"_scale_y\"\n                              },\n                              \"name\": \"_scale_y\"\n                            },\n                            \"computed\": false\n                          }\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 1219,\n                        \"end\": 1249,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 47,\n                            \"column\": 4\n                          },\n                          \"end\": {\n                            \"line\": 49,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 1224,\n                            \"end\": 1245,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 48,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 48,\n                                \"column\": 24\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 1224,\n                              \"end\": 1244,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 48,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 48,\n                                  \"column\": 23\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1224,\n                                \"end\": 1242,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 48,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 48,\n                                    \"column\": 21\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1224,\n                                  \"end\": 1225,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 48,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 48,\n                                      \"column\": 4\n                                    },\n                                    \"identifierName\": \"b\"\n                                  },\n                                  \"name\": \"b\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1226,\n                                  \"end\": 1242,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 48,\n                                      \"column\": 5\n                                    },\n                                    \"end\": {\n                                      \"line\": 48,\n                                      \"column\": 21\n                                    },\n                                    \"identifierName\": \"_calculateCoords\"\n                                  },\n                                  \"name\": \"_calculateCoords\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"alternate\": null\n              },\n              {\n                \"type\": \"IfStatement\",\n                \"start\": 1255,\n                \"end\": 1638,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 52,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 67,\n                    \"column\": 2\n                  }\n                },\n                \"test\": {\n                  \"type\": \"LogicalExpression\",\n                  \"start\": 1258,\n                  \"end\": 1281,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 52,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 52,\n                      \"column\": 27\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"UnaryExpression\",\n                    \"start\": 1258,\n                    \"end\": 1263,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 52,\n                        \"column\": 4\n                      },\n                      \"end\": {\n                        \"line\": 52,\n                        \"column\": 9\n                      }\n                    },\n                    \"operator\": \"!\",\n                    \"prefix\": true,\n                    \"argument\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1259,\n                      \"end\": 1263,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 52,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 52,\n                          \"column\": 9\n                        },\n                        \"identifierName\": \"aabb\"\n                      },\n                      \"name\": \"aabb\"\n                    },\n                    \"extra\": {\n                      \"parenthesizedArgument\": false\n                    }\n                  },\n                  \"operator\": \"||\",\n                  \"right\": {\n                    \"type\": \"CallExpression\",\n                    \"start\": 1267,\n                    \"end\": 1281,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 52,\n                        \"column\": 13\n                      },\n                      \"end\": {\n                        \"line\": 52,\n                        \"column\": 27\n                      }\n                    },\n                    \"callee\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1267,\n                      \"end\": 1275,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 52,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 52,\n                          \"column\": 21\n                        },\n                        \"identifierName\": \"aabbAABB\"\n                      },\n                      \"name\": \"aabbAABB\"\n                    },\n                    \"arguments\": [\n                      {\n                        \"type\": \"Identifier\",\n                        \"start\": 1276,\n                        \"end\": 1277,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 52,\n                            \"column\": 22\n                          },\n                          \"end\": {\n                            \"line\": 52,\n                            \"column\": 23\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      {\n                        \"type\": \"Identifier\",\n                        \"start\": 1279,\n                        \"end\": 1280,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 52,\n                            \"column\": 25\n                          },\n                          \"end\": {\n                            \"line\": 52,\n                            \"column\": 26\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      }\n                    ]\n                  }\n                },\n                \"consequent\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 1283,\n                  \"end\": 1638,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 52,\n                      \"column\": 29\n                    },\n                    \"end\": {\n                      \"line\": 67,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 1287,\n                      \"end\": 1352,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 53,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 55,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 1290,\n                        \"end\": 1319,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 53,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 53,\n                            \"column\": 34\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1290,\n                          \"end\": 1299,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 53,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 53,\n                              \"column\": 14\n                            },\n                            \"identifierName\": \"a_polygon\"\n                          },\n                          \"name\": \"a_polygon\"\n                        },\n                        \"operator\": \"&&\",\n                        \"right\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1303,\n                          \"end\": 1319,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 53,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 53,\n                              \"column\": 34\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1303,\n                            \"end\": 1304,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 53,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 53,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"a\"\n                            },\n                            \"name\": \"a\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1305,\n                            \"end\": 1319,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 53,\n                                \"column\": 20\n                              },\n                              \"end\": {\n                                \"line\": 53,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"_dirty_normals\"\n                            },\n                            \"name\": \"_dirty_normals\"\n                          },\n                          \"computed\": false\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 1321,\n                        \"end\": 1352,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 53,\n                            \"column\": 36\n                          },\n                          \"end\": {\n                            \"line\": 55,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 1326,\n                            \"end\": 1348,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 54,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 54,\n                                \"column\": 25\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 1326,\n                              \"end\": 1347,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 54,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 54,\n                                  \"column\": 24\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1326,\n                                \"end\": 1345,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 54,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 54,\n                                    \"column\": 22\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1326,\n                                  \"end\": 1327,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 54,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 54,\n                                      \"column\": 4\n                                    },\n                                    \"identifierName\": \"a\"\n                                  },\n                                  \"name\": \"a\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1328,\n                                  \"end\": 1345,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 54,\n                                      \"column\": 5\n                                    },\n                                    \"end\": {\n                                      \"line\": 54,\n                                      \"column\": 22\n                                    },\n                                    \"identifierName\": \"_calculateNormals\"\n                                  },\n                                  \"name\": \"_calculateNormals\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"IfStatement\",\n                      \"start\": 1356,\n                      \"end\": 1421,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 57,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 59,\n                          \"column\": 3\n                        }\n                      },\n                      \"test\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 1359,\n                        \"end\": 1388,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 57,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 57,\n                            \"column\": 34\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1359,\n                          \"end\": 1368,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 57,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 57,\n                              \"column\": 14\n                            },\n                            \"identifierName\": \"b_polygon\"\n                          },\n                          \"name\": \"b_polygon\"\n                        },\n                        \"operator\": \"&&\",\n                        \"right\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1372,\n                          \"end\": 1388,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 57,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 57,\n                              \"column\": 34\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1372,\n                            \"end\": 1373,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 57,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 57,\n                                \"column\": 19\n                              },\n                              \"identifierName\": \"b\"\n                            },\n                            \"name\": \"b\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1374,\n                            \"end\": 1388,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 57,\n                                \"column\": 20\n                              },\n                              \"end\": {\n                                \"line\": 57,\n                                \"column\": 34\n                              },\n                              \"identifierName\": \"_dirty_normals\"\n                            },\n                            \"name\": \"_dirty_normals\"\n                          },\n                          \"computed\": false\n                        }\n                      },\n                      \"consequent\": {\n                        \"type\": \"BlockStatement\",\n                        \"start\": 1390,\n                        \"end\": 1421,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 57,\n                            \"column\": 36\n                          },\n                          \"end\": {\n                            \"line\": 59,\n                            \"column\": 3\n                          }\n                        },\n                        \"body\": [\n                          {\n                            \"type\": \"ExpressionStatement\",\n                            \"start\": 1395,\n                            \"end\": 1417,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 58,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 58,\n                                \"column\": 25\n                              }\n                            },\n                            \"expression\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 1395,\n                              \"end\": 1416,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 58,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 58,\n                                  \"column\": 24\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 1395,\n                                \"end\": 1414,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 58,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 58,\n                                    \"column\": 22\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1395,\n                                  \"end\": 1396,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 58,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 58,\n                                      \"column\": 4\n                                    },\n                                    \"identifierName\": \"b\"\n                                  },\n                                  \"name\": \"b\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1397,\n                                  \"end\": 1414,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 58,\n                                      \"column\": 5\n                                    },\n                                    \"end\": {\n                                      \"line\": 58,\n                                      \"column\": 22\n                                    },\n                                    \"identifierName\": \"_calculateNormals\"\n                                  },\n                                  \"name\": \"_calculateNormals\"\n                                },\n                                \"computed\": false\n                              },\n                              \"arguments\": []\n                            }\n                          }\n                        ],\n                        \"directives\": []\n                      },\n                      \"alternate\": null\n                    },\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1425,\n                      \"end\": 1635,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 61,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 66,\n                          \"column\": 4\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1425,\n                        \"end\": 1634,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 61,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 66,\n                            \"column\": 3\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1425,\n                          \"end\": 1434,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 61,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 61,\n                              \"column\": 11\n                            },\n                            \"identifierName\": \"collision\"\n                          },\n                          \"name\": \"collision\"\n                        },\n                        \"right\": {\n                          \"type\": \"ConditionalExpression\",\n                          \"start\": 1442,\n                          \"end\": 1630,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 62,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 65,\n                              \"column\": 29\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"LogicalExpression\",\n                            \"start\": 1442,\n                            \"end\": 1464,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 62,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 62,\n                                \"column\": 25\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1442,\n                              \"end\": 1451,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 62,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 62,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"a_polygon\"\n                              },\n                              \"name\": \"a_polygon\"\n                            },\n                            \"operator\": \"&&\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1455,\n                              \"end\": 1464,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 62,\n                                  \"column\": 16\n                                },\n                                \"end\": {\n                                  \"line\": 62,\n                                  \"column\": 25\n                                },\n                                \"identifierName\": \"b_polygon\"\n                              },\n                              \"name\": \"b_polygon\"\n                            }\n                          },\n                          \"consequent\": {\n                            \"type\": \"CallExpression\",\n                            \"start\": 1467,\n                            \"end\": 1495,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 62,\n                                \"column\": 28\n                              },\n                              \"end\": {\n                                \"line\": 62,\n                                \"column\": 56\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1467,\n                              \"end\": 1481,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 62,\n                                  \"column\": 28\n                                },\n                                \"end\": {\n                                  \"line\": 62,\n                                  \"column\": 42\n                                },\n                                \"identifierName\": \"polygonPolygon\"\n                              },\n                              \"name\": \"polygonPolygon\"\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1482,\n                                \"end\": 1483,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 62,\n                                    \"column\": 43\n                                  },\n                                  \"end\": {\n                                    \"line\": 62,\n                                    \"column\": 44\n                                  },\n                                  \"identifierName\": \"a\"\n                                },\n                                \"name\": \"a\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1485,\n                                \"end\": 1486,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 62,\n                                    \"column\": 46\n                                  },\n                                  \"end\": {\n                                    \"line\": 62,\n                                    \"column\": 47\n                                  },\n                                  \"identifierName\": \"b\"\n                                },\n                                \"name\": \"b\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 1488,\n                                \"end\": 1494,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 62,\n                                    \"column\": 49\n                                  },\n                                  \"end\": {\n                                    \"line\": 62,\n                                    \"column\": 55\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              }\n                            ]\n                          },\n                          \"alternate\": {\n                            \"type\": \"ConditionalExpression\",\n                            \"start\": 1501,\n                            \"end\": 1630,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 63,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 65,\n                                \"column\": 29\n                              }\n                            },\n                            \"test\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 1501,\n                              \"end\": 1510,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 63,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 63,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"a_polygon\"\n                              },\n                              \"name\": \"a_polygon\"\n                            },\n                            \"consequent\": {\n                              \"type\": \"CallExpression\",\n                              \"start\": 1513,\n                              \"end\": 1547,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 63,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 63,\n                                  \"column\": 49\n                                }\n                              },\n                              \"callee\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1513,\n                                \"end\": 1526,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 63,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 63,\n                                    \"column\": 28\n                                  },\n                                  \"identifierName\": \"polygonCircle\"\n                                },\n                                \"name\": \"polygonCircle\"\n                              },\n                              \"arguments\": [\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1527,\n                                  \"end\": 1528,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 63,\n                                      \"column\": 29\n                                    },\n                                    \"end\": {\n                                      \"line\": 63,\n                                      \"column\": 30\n                                    },\n                                    \"identifierName\": \"a\"\n                                  },\n                                  \"name\": \"a\"\n                                },\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1530,\n                                  \"end\": 1531,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 63,\n                                      \"column\": 32\n                                    },\n                                    \"end\": {\n                                      \"line\": 63,\n                                      \"column\": 33\n                                    },\n                                    \"identifierName\": \"b\"\n                                  },\n                                  \"name\": \"b\"\n                                },\n                                {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1533,\n                                  \"end\": 1539,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 63,\n                                      \"column\": 35\n                                    },\n                                    \"end\": {\n                                      \"line\": 63,\n                                      \"column\": 41\n                                    },\n                                    \"identifierName\": \"result\"\n                                  },\n                                  \"name\": \"result\"\n                                },\n                                {\n                                  \"type\": \"BooleanLiteral\",\n                                  \"start\": 1541,\n                                  \"end\": 1546,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 63,\n                                      \"column\": 43\n                                    },\n                                    \"end\": {\n                                      \"line\": 63,\n                                      \"column\": 48\n                                    }\n                                  },\n                                  \"value\": false\n                                }\n                              ]\n                            },\n                            \"alternate\": {\n                              \"type\": \"ConditionalExpression\",\n                              \"start\": 1553,\n                              \"end\": 1630,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 64,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 65,\n                                  \"column\": 29\n                                }\n                              },\n                              \"test\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 1553,\n                                \"end\": 1562,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 64,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 64,\n                                    \"column\": 12\n                                  },\n                                  \"identifierName\": \"b_polygon\"\n                                },\n                                \"name\": \"b_polygon\"\n                              },\n                              \"consequent\": {\n                                \"type\": \"CallExpression\",\n                                \"start\": 1565,\n                                \"end\": 1598,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 64,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 64,\n                                    \"column\": 48\n                                  }\n                                },\n                                \"callee\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1565,\n                                  \"end\": 1578,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 64,\n                                      \"column\": 15\n                                    },\n                                    \"end\": {\n                                      \"line\": 64,\n                                      \"column\": 28\n                                    },\n                                    \"identifierName\": \"polygonCircle\"\n                                  },\n                                  \"name\": \"polygonCircle\"\n                                },\n                                \"arguments\": [\n                                  {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1579,\n                                    \"end\": 1580,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 64,\n                                        \"column\": 29\n                                      },\n                                      \"end\": {\n                                        \"line\": 64,\n                                        \"column\": 30\n                                      },\n                                      \"identifierName\": \"b\"\n                                    },\n                                    \"name\": \"b\"\n                                  },\n                                  {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1582,\n                                    \"end\": 1583,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 64,\n                                        \"column\": 32\n                                      },\n                                      \"end\": {\n                                        \"line\": 64,\n                                        \"column\": 33\n                                      },\n                                      \"identifierName\": \"a\"\n                                    },\n                                    \"name\": \"a\"\n                                  },\n                                  {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1585,\n                                    \"end\": 1591,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 64,\n                                        \"column\": 35\n                                      },\n                                      \"end\": {\n                                        \"line\": 64,\n                                        \"column\": 41\n                                      },\n                                      \"identifierName\": \"result\"\n                                    },\n                                    \"name\": \"result\"\n                                  },\n                                  {\n                                    \"type\": \"BooleanLiteral\",\n                                    \"start\": 1593,\n                                    \"end\": 1597,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 64,\n                                        \"column\": 43\n                                      },\n                                      \"end\": {\n                                        \"line\": 64,\n                                        \"column\": 47\n                                      }\n                                    },\n                                    \"value\": true\n                                  }\n                                ]\n                              },\n                              \"alternate\": {\n                                \"type\": \"CallExpression\",\n                                \"start\": 1604,\n                                \"end\": 1630,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 65,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 65,\n                                    \"column\": 29\n                                  }\n                                },\n                                \"callee\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 1604,\n                                  \"end\": 1616,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 65,\n                                      \"column\": 3\n                                    },\n                                    \"end\": {\n                                      \"line\": 65,\n                                      \"column\": 15\n                                    },\n                                    \"identifierName\": \"circleCircle\"\n                                  },\n                                  \"name\": \"circleCircle\"\n                                },\n                                \"arguments\": [\n                                  {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1617,\n                                    \"end\": 1618,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 65,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 65,\n                                        \"column\": 17\n                                      },\n                                      \"identifierName\": \"a\"\n                                    },\n                                    \"name\": \"a\"\n                                  },\n                                  {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1620,\n                                    \"end\": 1621,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 65,\n                                        \"column\": 19\n                                      },\n                                      \"end\": {\n                                        \"line\": 65,\n                                        \"column\": 20\n                                      },\n                                      \"identifierName\": \"b\"\n                                    },\n                                    \"name\": \"b\"\n                                  },\n                                  {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 1623,\n                                    \"end\": 1629,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 65,\n                                        \"column\": 22\n                                      },\n                                      \"end\": {\n                                        \"line\": 65,\n                                        \"column\": 28\n                                      },\n                                      \"identifierName\": \"result\"\n                                    },\n                                    \"name\": \"result\"\n                                  }\n                                ]\n                              }\n                            }\n                          },\n                          \"extra\": {\n                            \"parenthesized\": true,\n                            \"parenStart\": 1437\n                          }\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"alternate\": null\n              },\n              {\n                \"type\": \"IfStatement\",\n                \"start\": 1641,\n                \"end\": 1688,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 69,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 71,\n                    \"column\": 2\n                  }\n                },\n                \"test\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 1644,\n                  \"end\": 1650,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 69,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 69,\n                      \"column\": 10\n                    },\n                    \"identifierName\": \"result\"\n                  },\n                  \"name\": \"result\"\n                },\n                \"consequent\": {\n                  \"type\": \"BlockStatement\",\n                  \"start\": 1652,\n                  \"end\": 1688,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 69,\n                      \"column\": 12\n                    },\n                    \"end\": {\n                      \"line\": 71,\n                      \"column\": 2\n                    }\n                  },\n                  \"body\": [\n                    {\n                      \"type\": \"ExpressionStatement\",\n                      \"start\": 1656,\n                      \"end\": 1685,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 70,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 70,\n                          \"column\": 31\n                        }\n                      },\n                      \"expression\": {\n                        \"type\": \"AssignmentExpression\",\n                        \"start\": 1656,\n                        \"end\": 1684,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 70,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 70,\n                            \"column\": 30\n                          }\n                        },\n                        \"operator\": \"=\",\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 1656,\n                          \"end\": 1672,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 70,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 70,\n                              \"column\": 18\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1656,\n                            \"end\": 1662,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 70,\n                                \"column\": 2\n                              },\n                              \"end\": {\n                                \"line\": 70,\n                                \"column\": 8\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 1663,\n                            \"end\": 1672,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 70,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 70,\n                                \"column\": 18\n                              },\n                              \"identifierName\": \"collision\"\n                            },\n                            \"name\": \"collision\"\n                          },\n                          \"computed\": false\n                        },\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 1675,\n                          \"end\": 1684,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 70,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 70,\n                              \"column\": 30\n                            },\n                            \"identifierName\": \"collision\"\n                          },\n                          \"name\": \"collision\"\n                        }\n                      }\n                    }\n                  ],\n                  \"directives\": []\n                },\n                \"alternate\": null\n              },\n              {\n                \"type\": \"ReturnStatement\",\n                \"start\": 1691,\n                \"end\": 1708,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 73,\n                    \"column\": 1\n                  },\n                  \"end\": {\n                    \"line\": 73,\n                    \"column\": 18\n                  }\n                },\n                \"argument\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 1698,\n                  \"end\": 1707,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 73,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 73,\n                      \"column\": 17\n                    },\n                    \"identifierName\": \"collision\"\n                  },\n                  \"name\": \"collision\"\n                }\n              }\n            ],\n            \"directives\": []\n          },\n          \"leadingComments\": [\n            {\n              \"type\": \"CommentBlock\",\n              \"value\": \"*\\n * Determines if two bodies are colliding using the Separating Axis Theorem\\n * @private\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\\n * @returns {Boolean}\\n \",\n              \"start\": 0,\n              \"end\": 462,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 1,\n                  \"column\": 0\n                },\n                \"end\": {\n                  \"line\": 9,\n                  \"column\": 3\n                }\n              }\n            }\n          ],\n          \"trailingComments\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two bodies are colliding using the Separating Axis Theorem\\n * @private\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\\n * @returns {Boolean}\\n \",\n            \"start\": 0,\n            \"end\": 462,\n            \"loc\": {\n              \"start\": {\n                \"line\": 1,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 9,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"EmptyStatement\",\n        \"start\": 1710,\n        \"end\": 1711,\n        \"loc\": {\n          \"start\": {\n            \"line\": 74,\n            \"column\": 1\n          },\n          \"end\": {\n            \"line\": 74,\n            \"column\": 2\n          }\n        },\n        \"leadingComments\": null,\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two bodies' axis aligned bounding boxes are colliding\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n \",\n            \"start\": 1713,\n            \"end\": 1917,\n            \"loc\": {\n              \"start\": {\n                \"line\": 76,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 80,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"FunctionDeclaration\",\n        \"start\": 1918,\n        \"end\": 2833,\n        \"loc\": {\n          \"start\": {\n            \"line\": 81,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 101,\n            \"column\": 1\n          }\n        },\n        \"id\": {\n          \"type\": \"Identifier\",\n          \"start\": 1927,\n          \"end\": 1935,\n          \"loc\": {\n            \"start\": {\n              \"line\": 81,\n              \"column\": 9\n            },\n            \"end\": {\n              \"line\": 81,\n              \"column\": 17\n            },\n            \"identifierName\": \"aabbAABB\"\n          },\n          \"name\": \"aabbAABB\",\n          \"leadingComments\": null\n        },\n        \"generator\": false,\n        \"expression\": false,\n        \"async\": false,\n        \"params\": [\n          {\n            \"type\": \"Identifier\",\n            \"start\": 1936,\n            \"end\": 1937,\n            \"loc\": {\n              \"start\": {\n                \"line\": 81,\n                \"column\": 18\n              },\n              \"end\": {\n                \"line\": 81,\n                \"column\": 19\n              },\n              \"identifierName\": \"a\"\n            },\n            \"name\": \"a\"\n          },\n          {\n            \"type\": \"Identifier\",\n            \"start\": 1939,\n            \"end\": 1940,\n            \"loc\": {\n              \"start\": {\n                \"line\": 81,\n                \"column\": 21\n              },\n              \"end\": {\n                \"line\": 81,\n                \"column\": 22\n              },\n              \"identifierName\": \"b\"\n            },\n            \"name\": \"b\"\n          }\n        ],\n        \"body\": {\n          \"type\": \"BlockStatement\",\n          \"start\": 1942,\n          \"end\": 2833,\n          \"loc\": {\n            \"start\": {\n              \"line\": 81,\n              \"column\": 24\n            },\n            \"end\": {\n              \"line\": 101,\n              \"column\": 1\n            }\n          },\n          \"body\": [\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 1945,\n              \"end\": 1974,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 82,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 82,\n                  \"column\": 30\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 1951,\n                  \"end\": 1973,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 82,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 82,\n                      \"column\": 29\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1951,\n                    \"end\": 1960,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 82,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 82,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"a_polygon\"\n                    },\n                    \"name\": \"a_polygon\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 1963,\n                    \"end\": 1973,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 82,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 82,\n                        \"column\": 29\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1963,\n                      \"end\": 1964,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 82,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 82,\n                          \"column\": 20\n                        },\n                        \"identifierName\": \"a\"\n                      },\n                      \"name\": \"a\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1965,\n                      \"end\": 1973,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 82,\n                          \"column\": 21\n                        },\n                        \"end\": {\n                          \"line\": 82,\n                          \"column\": 29\n                        },\n                        \"identifierName\": \"_polygon\"\n                      },\n                      \"name\": \"_polygon\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 1976,\n              \"end\": 2014,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 83,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 83,\n                  \"column\": 39\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 1982,\n                  \"end\": 2013,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 83,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 83,\n                      \"column\": 38\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 1982,\n                    \"end\": 1985,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 83,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 83,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"a_x\"\n                    },\n                    \"name\": \"a_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 1994,\n                    \"end\": 2013,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 83,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 83,\n                        \"column\": 38\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 1994,\n                      \"end\": 2003,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 83,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 83,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2006,\n                      \"end\": 2007,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 83,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 83,\n                          \"column\": 32\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    },\n                    \"alternate\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2010,\n                      \"end\": 2013,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 83,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 83,\n                          \"column\": 38\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2010,\n                        \"end\": 2011,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 83,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 83,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2012,\n                        \"end\": 2013,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 83,\n                            \"column\": 37\n                          },\n                          \"end\": {\n                            \"line\": 83,\n                            \"column\": 38\n                          },\n                          \"identifierName\": \"x\"\n                        },\n                        \"name\": \"x\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2016,\n              \"end\": 2054,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 84,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 84,\n                  \"column\": 39\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2022,\n                  \"end\": 2053,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 84,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 84,\n                      \"column\": 38\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2022,\n                    \"end\": 2025,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 84,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 84,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"a_y\"\n                    },\n                    \"name\": \"a_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2034,\n                    \"end\": 2053,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 84,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 84,\n                        \"column\": 38\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2034,\n                      \"end\": 2043,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 84,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 84,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2046,\n                      \"end\": 2047,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 84,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 84,\n                          \"column\": 32\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    },\n                    \"alternate\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2050,\n                      \"end\": 2053,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 84,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 84,\n                          \"column\": 38\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2050,\n                        \"end\": 2051,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 84,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 84,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2052,\n                        \"end\": 2053,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 84,\n                            \"column\": 37\n                          },\n                          \"end\": {\n                            \"line\": 84,\n                            \"column\": 38\n                          },\n                          \"identifierName\": \"y\"\n                        },\n                        \"name\": \"y\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2056,\n              \"end\": 2109,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 85,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 85,\n                  \"column\": 54\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2062,\n                  \"end\": 2108,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 85,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 85,\n                      \"column\": 53\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2062,\n                    \"end\": 2070,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 85,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 85,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"a_radius\"\n                    },\n                    \"name\": \"a_radius\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2074,\n                    \"end\": 2108,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 85,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 85,\n                        \"column\": 53\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2074,\n                      \"end\": 2083,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 85,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 85,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2086,\n                      \"end\": 2087,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 85,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 85,\n                          \"column\": 32\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2090,\n                      \"end\": 2108,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 85,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 85,\n                          \"column\": 53\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 2090,\n                        \"end\": 2098,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 85,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 85,\n                            \"column\": 43\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2090,\n                          \"end\": 2091,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 85,\n                              \"column\": 35\n                            },\n                            \"end\": {\n                              \"line\": 85,\n                              \"column\": 36\n                            },\n                            \"identifierName\": \"a\"\n                          },\n                          \"name\": \"a\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2092,\n                          \"end\": 2098,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 85,\n                              \"column\": 37\n                            },\n                            \"end\": {\n                              \"line\": 85,\n                              \"column\": 43\n                            },\n                            \"identifierName\": \"radius\"\n                          },\n                          \"name\": \"radius\"\n                        },\n                        \"computed\": false\n                      },\n                      \"operator\": \"*\",\n                      \"right\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 2101,\n                        \"end\": 2108,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 85,\n                            \"column\": 46\n                          },\n                          \"end\": {\n                            \"line\": 85,\n                            \"column\": 53\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2101,\n                          \"end\": 2102,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 85,\n                              \"column\": 46\n                            },\n                            \"end\": {\n                              \"line\": 85,\n                              \"column\": 47\n                            },\n                            \"identifierName\": \"a\"\n                          },\n                          \"name\": \"a\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2103,\n                          \"end\": 2108,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 85,\n                              \"column\": 48\n                            },\n                            \"end\": {\n                              \"line\": 85,\n                              \"column\": 53\n                            },\n                            \"identifierName\": \"scale\"\n                          },\n                          \"name\": \"scale\"\n                        },\n                        \"computed\": false\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2111,\n              \"end\": 2167,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 86,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 86,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2117,\n                  \"end\": 2166,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 86,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 86,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2117,\n                    \"end\": 2124,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 86,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 86,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"a_min_x\"\n                    },\n                    \"name\": \"a_min_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2129,\n                    \"end\": 2166,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 86,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 86,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2129,\n                      \"end\": 2138,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 86,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 86,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2141,\n                      \"end\": 2149,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 86,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 86,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2141,\n                        \"end\": 2142,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 86,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 86,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2143,\n                        \"end\": 2149,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 86,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 86,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_min_x\"\n                        },\n                        \"name\": \"_min_x\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2152,\n                      \"end\": 2166,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 86,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 86,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2152,\n                        \"end\": 2155,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 86,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 86,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"a_x\"\n                        },\n                        \"name\": \"a_x\"\n                      },\n                      \"operator\": \"-\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2158,\n                        \"end\": 2166,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 86,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 86,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"a_radius\"\n                        },\n                        \"name\": \"a_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2169,\n              \"end\": 2225,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 87,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 87,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2175,\n                  \"end\": 2224,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 87,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 87,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2175,\n                    \"end\": 2182,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 87,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 87,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"a_min_y\"\n                    },\n                    \"name\": \"a_min_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2187,\n                    \"end\": 2224,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 87,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 87,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2187,\n                      \"end\": 2196,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 87,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 87,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2199,\n                      \"end\": 2207,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 87,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 87,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2199,\n                        \"end\": 2200,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 87,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 87,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2201,\n                        \"end\": 2207,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 87,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 87,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_min_y\"\n                        },\n                        \"name\": \"_min_y\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2210,\n                      \"end\": 2224,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 87,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 87,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2210,\n                        \"end\": 2213,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 87,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 87,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"a_y\"\n                        },\n                        \"name\": \"a_y\"\n                      },\n                      \"operator\": \"-\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2216,\n                        \"end\": 2224,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 87,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 87,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"a_radius\"\n                        },\n                        \"name\": \"a_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2227,\n              \"end\": 2283,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 88,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 88,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2233,\n                  \"end\": 2282,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 88,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 88,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2233,\n                    \"end\": 2240,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 88,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 88,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"a_max_x\"\n                    },\n                    \"name\": \"a_max_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2245,\n                    \"end\": 2282,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 88,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 88,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2245,\n                      \"end\": 2254,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 88,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 88,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2257,\n                      \"end\": 2265,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 88,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 88,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2257,\n                        \"end\": 2258,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 88,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 88,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2259,\n                        \"end\": 2265,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 88,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 88,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_max_x\"\n                        },\n                        \"name\": \"_max_x\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2268,\n                      \"end\": 2282,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 88,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 88,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2268,\n                        \"end\": 2271,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 88,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 88,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"a_x\"\n                        },\n                        \"name\": \"a_x\"\n                      },\n                      \"operator\": \"+\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2274,\n                        \"end\": 2282,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 88,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 88,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"a_radius\"\n                        },\n                        \"name\": \"a_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2285,\n              \"end\": 2341,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 89,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 89,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2291,\n                  \"end\": 2340,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 89,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 89,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2291,\n                    \"end\": 2298,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 89,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 89,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"a_max_y\"\n                    },\n                    \"name\": \"a_max_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2303,\n                    \"end\": 2340,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 89,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 89,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2303,\n                      \"end\": 2312,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 89,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 89,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"a_polygon\"\n                      },\n                      \"name\": \"a_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2315,\n                      \"end\": 2323,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 89,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 89,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2315,\n                        \"end\": 2316,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 89,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 89,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2317,\n                        \"end\": 2323,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 89,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 89,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_max_y\"\n                        },\n                        \"name\": \"_max_y\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2326,\n                      \"end\": 2340,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 89,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 89,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2326,\n                        \"end\": 2329,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 89,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 89,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"a_y\"\n                        },\n                        \"name\": \"a_y\"\n                      },\n                      \"operator\": \"+\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2332,\n                        \"end\": 2340,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 89,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 89,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"a_radius\"\n                        },\n                        \"name\": \"a_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2344,\n              \"end\": 2373,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 91,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 91,\n                  \"column\": 30\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2350,\n                  \"end\": 2372,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 91,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 91,\n                      \"column\": 29\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2350,\n                    \"end\": 2359,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 91,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 91,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"b_polygon\"\n                    },\n                    \"name\": \"b_polygon\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 2362,\n                    \"end\": 2372,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 91,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 91,\n                        \"column\": 29\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2362,\n                      \"end\": 2363,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 91,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 91,\n                          \"column\": 20\n                        },\n                        \"identifierName\": \"b\"\n                      },\n                      \"name\": \"b\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2364,\n                      \"end\": 2372,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 91,\n                          \"column\": 21\n                        },\n                        \"end\": {\n                          \"line\": 91,\n                          \"column\": 29\n                        },\n                        \"identifierName\": \"_polygon\"\n                      },\n                      \"name\": \"_polygon\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2375,\n              \"end\": 2413,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 92,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 92,\n                  \"column\": 39\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2381,\n                  \"end\": 2412,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 92,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 92,\n                      \"column\": 38\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2381,\n                    \"end\": 2384,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 92,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 92,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"b_x\"\n                    },\n                    \"name\": \"b_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2393,\n                    \"end\": 2412,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 92,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 92,\n                        \"column\": 38\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2393,\n                      \"end\": 2402,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 92,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 92,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2405,\n                      \"end\": 2406,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 92,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 92,\n                          \"column\": 32\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    },\n                    \"alternate\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2409,\n                      \"end\": 2412,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 92,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 92,\n                          \"column\": 38\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2409,\n                        \"end\": 2410,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 92,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 92,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2411,\n                        \"end\": 2412,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 92,\n                            \"column\": 37\n                          },\n                          \"end\": {\n                            \"line\": 92,\n                            \"column\": 38\n                          },\n                          \"identifierName\": \"x\"\n                        },\n                        \"name\": \"x\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2415,\n              \"end\": 2453,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 93,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 93,\n                  \"column\": 39\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2421,\n                  \"end\": 2452,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 93,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 93,\n                      \"column\": 38\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2421,\n                    \"end\": 2424,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 93,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 93,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"b_y\"\n                    },\n                    \"name\": \"b_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2433,\n                    \"end\": 2452,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 93,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 93,\n                        \"column\": 38\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2433,\n                      \"end\": 2442,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 93,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 93,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2445,\n                      \"end\": 2446,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 93,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 93,\n                          \"column\": 32\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    },\n                    \"alternate\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2449,\n                      \"end\": 2452,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 93,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 93,\n                          \"column\": 38\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2449,\n                        \"end\": 2450,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 93,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 93,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2451,\n                        \"end\": 2452,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 93,\n                            \"column\": 37\n                          },\n                          \"end\": {\n                            \"line\": 93,\n                            \"column\": 38\n                          },\n                          \"identifierName\": \"y\"\n                        },\n                        \"name\": \"y\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2455,\n              \"end\": 2508,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 94,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 94,\n                  \"column\": 54\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2461,\n                  \"end\": 2507,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 94,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 94,\n                      \"column\": 53\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2461,\n                    \"end\": 2469,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 94,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 94,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"b_radius\"\n                    },\n                    \"name\": \"b_radius\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2473,\n                    \"end\": 2507,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 94,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 94,\n                        \"column\": 53\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2473,\n                      \"end\": 2482,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 94,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 94,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 2485,\n                      \"end\": 2486,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 94,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 94,\n                          \"column\": 32\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2489,\n                      \"end\": 2507,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 94,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 94,\n                          \"column\": 53\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 2489,\n                        \"end\": 2497,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 94,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 94,\n                            \"column\": 43\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2489,\n                          \"end\": 2490,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 94,\n                              \"column\": 35\n                            },\n                            \"end\": {\n                              \"line\": 94,\n                              \"column\": 36\n                            },\n                            \"identifierName\": \"b\"\n                          },\n                          \"name\": \"b\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2491,\n                          \"end\": 2497,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 94,\n                              \"column\": 37\n                            },\n                            \"end\": {\n                              \"line\": 94,\n                              \"column\": 43\n                            },\n                            \"identifierName\": \"radius\"\n                          },\n                          \"name\": \"radius\"\n                        },\n                        \"computed\": false\n                      },\n                      \"operator\": \"*\",\n                      \"right\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 2500,\n                        \"end\": 2507,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 94,\n                            \"column\": 46\n                          },\n                          \"end\": {\n                            \"line\": 94,\n                            \"column\": 53\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2500,\n                          \"end\": 2501,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 94,\n                              \"column\": 46\n                            },\n                            \"end\": {\n                              \"line\": 94,\n                              \"column\": 47\n                            },\n                            \"identifierName\": \"b\"\n                          },\n                          \"name\": \"b\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 2502,\n                          \"end\": 2507,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 94,\n                              \"column\": 48\n                            },\n                            \"end\": {\n                              \"line\": 94,\n                              \"column\": 53\n                            },\n                            \"identifierName\": \"scale\"\n                          },\n                          \"name\": \"scale\"\n                        },\n                        \"computed\": false\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2510,\n              \"end\": 2566,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 95,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 95,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2516,\n                  \"end\": 2565,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 95,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 95,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2516,\n                    \"end\": 2523,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 95,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 95,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"b_min_x\"\n                    },\n                    \"name\": \"b_min_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2528,\n                    \"end\": 2565,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 95,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 95,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2528,\n                      \"end\": 2537,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 95,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 95,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2540,\n                      \"end\": 2548,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 95,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 95,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2540,\n                        \"end\": 2541,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 95,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 95,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2542,\n                        \"end\": 2548,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 95,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 95,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_min_x\"\n                        },\n                        \"name\": \"_min_x\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2551,\n                      \"end\": 2565,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 95,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 95,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2551,\n                        \"end\": 2554,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 95,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 95,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"b_x\"\n                        },\n                        \"name\": \"b_x\"\n                      },\n                      \"operator\": \"-\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2557,\n                        \"end\": 2565,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 95,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 95,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"b_radius\"\n                        },\n                        \"name\": \"b_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2568,\n              \"end\": 2624,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 96,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 96,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2574,\n                  \"end\": 2623,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 96,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 96,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2574,\n                    \"end\": 2581,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 96,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 96,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"b_min_y\"\n                    },\n                    \"name\": \"b_min_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2586,\n                    \"end\": 2623,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 96,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 96,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2586,\n                      \"end\": 2595,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 96,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 96,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2598,\n                      \"end\": 2606,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 96,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 96,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2598,\n                        \"end\": 2599,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 96,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 96,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2600,\n                        \"end\": 2606,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 96,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 96,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_min_y\"\n                        },\n                        \"name\": \"_min_y\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2609,\n                      \"end\": 2623,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 96,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 96,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2609,\n                        \"end\": 2612,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 96,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 96,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"b_y\"\n                        },\n                        \"name\": \"b_y\"\n                      },\n                      \"operator\": \"-\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2615,\n                        \"end\": 2623,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 96,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 96,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"b_radius\"\n                        },\n                        \"name\": \"b_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2626,\n              \"end\": 2682,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 97,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 97,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2632,\n                  \"end\": 2681,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 97,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 97,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2632,\n                    \"end\": 2639,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 97,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 97,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"b_max_x\"\n                    },\n                    \"name\": \"b_max_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2644,\n                    \"end\": 2681,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 97,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 97,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2644,\n                      \"end\": 2653,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 97,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 97,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2656,\n                      \"end\": 2664,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 97,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 97,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2656,\n                        \"end\": 2657,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 97,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 97,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2658,\n                        \"end\": 2664,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 97,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 97,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_max_x\"\n                        },\n                        \"name\": \"_max_x\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2667,\n                      \"end\": 2681,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 97,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 97,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2667,\n                        \"end\": 2670,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 97,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 97,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"b_x\"\n                        },\n                        \"name\": \"b_x\"\n                      },\n                      \"operator\": \"+\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2673,\n                        \"end\": 2681,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 97,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 97,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"b_radius\"\n                        },\n                        \"name\": \"b_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 2684,\n              \"end\": 2740,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 98,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 98,\n                  \"column\": 57\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 2690,\n                  \"end\": 2739,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 98,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 98,\n                      \"column\": 56\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2690,\n                    \"end\": 2697,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 98,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 98,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"b_max_y\"\n                    },\n                    \"name\": \"b_max_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"ConditionalExpression\",\n                    \"start\": 2702,\n                    \"end\": 2739,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 98,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 98,\n                        \"column\": 56\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2702,\n                      \"end\": 2711,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 98,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 98,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"b_polygon\"\n                      },\n                      \"name\": \"b_polygon\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 2714,\n                      \"end\": 2722,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 98,\n                          \"column\": 31\n                        },\n                        \"end\": {\n                          \"line\": 98,\n                          \"column\": 39\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2714,\n                        \"end\": 2715,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 98,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 98,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2716,\n                        \"end\": 2722,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 98,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 98,\n                            \"column\": 39\n                          },\n                          \"identifierName\": \"_max_y\"\n                        },\n                        \"name\": \"_max_y\"\n                      },\n                      \"computed\": false\n                    },\n                    \"alternate\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2725,\n                      \"end\": 2739,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 98,\n                          \"column\": 42\n                        },\n                        \"end\": {\n                          \"line\": 98,\n                          \"column\": 56\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2725,\n                        \"end\": 2728,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 98,\n                            \"column\": 42\n                          },\n                          \"end\": {\n                            \"line\": 98,\n                            \"column\": 45\n                          },\n                          \"identifierName\": \"b_y\"\n                        },\n                        \"name\": \"b_y\"\n                      },\n                      \"operator\": \"+\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2731,\n                        \"end\": 2739,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 98,\n                            \"column\": 48\n                          },\n                          \"end\": {\n                            \"line\": 98,\n                            \"column\": 56\n                          },\n                          \"identifierName\": \"b_radius\"\n                        },\n                        \"name\": \"b_radius\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"ReturnStatement\",\n              \"start\": 2743,\n              \"end\": 2831,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 100,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 100,\n                  \"column\": 89\n                }\n              },\n              \"argument\": {\n                \"type\": \"LogicalExpression\",\n                \"start\": 2750,\n                \"end\": 2830,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 100,\n                    \"column\": 8\n                  },\n                  \"end\": {\n                    \"line\": 100,\n                    \"column\": 88\n                  }\n                },\n                \"left\": {\n                  \"type\": \"LogicalExpression\",\n                  \"start\": 2750,\n                  \"end\": 2809,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 100,\n                      \"column\": 8\n                    },\n                    \"end\": {\n                      \"line\": 100,\n                      \"column\": 67\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"LogicalExpression\",\n                    \"start\": 2750,\n                    \"end\": 2788,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 100,\n                        \"column\": 8\n                      },\n                      \"end\": {\n                        \"line\": 100,\n                        \"column\": 46\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2750,\n                      \"end\": 2767,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 100,\n                          \"column\": 8\n                        },\n                        \"end\": {\n                          \"line\": 100,\n                          \"column\": 25\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2750,\n                        \"end\": 2757,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 100,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 100,\n                            \"column\": 15\n                          },\n                          \"identifierName\": \"a_min_x\"\n                        },\n                        \"name\": \"a_min_x\"\n                      },\n                      \"operator\": \"<\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2760,\n                        \"end\": 2767,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 100,\n                            \"column\": 18\n                          },\n                          \"end\": {\n                            \"line\": 100,\n                            \"column\": 25\n                          },\n                          \"identifierName\": \"b_max_x\"\n                        },\n                        \"name\": \"b_max_x\"\n                      }\n                    },\n                    \"operator\": \"&&\",\n                    \"right\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 2771,\n                      \"end\": 2788,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 100,\n                          \"column\": 29\n                        },\n                        \"end\": {\n                          \"line\": 100,\n                          \"column\": 46\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2771,\n                        \"end\": 2778,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 100,\n                            \"column\": 29\n                          },\n                          \"end\": {\n                            \"line\": 100,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"a_min_y\"\n                        },\n                        \"name\": \"a_min_y\"\n                      },\n                      \"operator\": \"<\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 2781,\n                        \"end\": 2788,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 100,\n                            \"column\": 39\n                          },\n                          \"end\": {\n                            \"line\": 100,\n                            \"column\": 46\n                          },\n                          \"identifierName\": \"b_max_y\"\n                        },\n                        \"name\": \"b_max_y\"\n                      }\n                    }\n                  },\n                  \"operator\": \"&&\",\n                  \"right\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 2792,\n                    \"end\": 2809,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 100,\n                        \"column\": 50\n                      },\n                      \"end\": {\n                        \"line\": 100,\n                        \"column\": 67\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2792,\n                      \"end\": 2799,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 100,\n                          \"column\": 50\n                        },\n                        \"end\": {\n                          \"line\": 100,\n                          \"column\": 57\n                        },\n                        \"identifierName\": \"a_max_x\"\n                      },\n                      \"name\": \"a_max_x\"\n                    },\n                    \"operator\": \">\",\n                    \"right\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 2802,\n                      \"end\": 2809,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 100,\n                          \"column\": 60\n                        },\n                        \"end\": {\n                          \"line\": 100,\n                          \"column\": 67\n                        },\n                        \"identifierName\": \"b_min_x\"\n                      },\n                      \"name\": \"b_min_x\"\n                    }\n                  }\n                },\n                \"operator\": \"&&\",\n                \"right\": {\n                  \"type\": \"BinaryExpression\",\n                  \"start\": 2813,\n                  \"end\": 2830,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 100,\n                      \"column\": 71\n                    },\n                    \"end\": {\n                      \"line\": 100,\n                      \"column\": 88\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2813,\n                    \"end\": 2820,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 100,\n                        \"column\": 71\n                      },\n                      \"end\": {\n                        \"line\": 100,\n                        \"column\": 78\n                      },\n                      \"identifierName\": \"a_max_y\"\n                    },\n                    \"name\": \"a_max_y\"\n                  },\n                  \"operator\": \">\",\n                  \"right\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 2823,\n                    \"end\": 2830,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 100,\n                        \"column\": 81\n                      },\n                      \"end\": {\n                        \"line\": 100,\n                        \"column\": 88\n                      },\n                      \"identifierName\": \"b_min_y\"\n                    },\n                    \"name\": \"b_min_y\"\n                  }\n                }\n              }\n            }\n          ],\n          \"directives\": [],\n          \"trailingComments\": null\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two bodies' axis aligned bounding boxes are colliding\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n \",\n            \"start\": 1713,\n            \"end\": 1917,\n            \"loc\": {\n              \"start\": {\n                \"line\": 76,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 80,\n                \"column\": 3\n              }\n            }\n          }\n        ],\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two polygons are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Polygon} b The target polygon to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n            \"start\": 2835,\n            \"end\": 3115,\n            \"loc\": {\n              \"start\": {\n                \"line\": 103,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 109,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"FunctionDeclaration\",\n        \"start\": 3116,\n        \"end\": 3999,\n        \"loc\": {\n          \"start\": {\n            \"line\": 110,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 148,\n            \"column\": 1\n          }\n        },\n        \"id\": {\n          \"type\": \"Identifier\",\n          \"start\": 3125,\n          \"end\": 3139,\n          \"loc\": {\n            \"start\": {\n              \"line\": 110,\n              \"column\": 9\n            },\n            \"end\": {\n              \"line\": 110,\n              \"column\": 23\n            },\n            \"identifierName\": \"polygonPolygon\"\n          },\n          \"name\": \"polygonPolygon\",\n          \"leadingComments\": null\n        },\n        \"generator\": false,\n        \"expression\": false,\n        \"async\": false,\n        \"params\": [\n          {\n            \"type\": \"Identifier\",\n            \"start\": 3140,\n            \"end\": 3141,\n            \"loc\": {\n              \"start\": {\n                \"line\": 110,\n                \"column\": 24\n              },\n              \"end\": {\n                \"line\": 110,\n                \"column\": 25\n              },\n              \"identifierName\": \"a\"\n            },\n            \"name\": \"a\"\n          },\n          {\n            \"type\": \"Identifier\",\n            \"start\": 3143,\n            \"end\": 3144,\n            \"loc\": {\n              \"start\": {\n                \"line\": 110,\n                \"column\": 27\n              },\n              \"end\": {\n                \"line\": 110,\n                \"column\": 28\n              },\n              \"identifierName\": \"b\"\n            },\n            \"name\": \"b\"\n          },\n          {\n            \"type\": \"AssignmentPattern\",\n            \"start\": 3146,\n            \"end\": 3159,\n            \"loc\": {\n              \"start\": {\n                \"line\": 110,\n                \"column\": 30\n              },\n              \"end\": {\n                \"line\": 110,\n                \"column\": 43\n              }\n            },\n            \"left\": {\n              \"type\": \"Identifier\",\n              \"start\": 3146,\n              \"end\": 3152,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 110,\n                  \"column\": 30\n                },\n                \"end\": {\n                  \"line\": 110,\n                  \"column\": 36\n                },\n                \"identifierName\": \"result\"\n              },\n              \"name\": \"result\"\n            },\n            \"right\": {\n              \"type\": \"NullLiteral\",\n              \"start\": 3155,\n              \"end\": 3159,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 110,\n                  \"column\": 39\n                },\n                \"end\": {\n                  \"line\": 110,\n                  \"column\": 43\n                }\n              }\n            }\n          }\n        ],\n        \"body\": {\n          \"type\": \"BlockStatement\",\n          \"start\": 3161,\n          \"end\": 3999,\n          \"loc\": {\n            \"start\": {\n              \"line\": 110,\n              \"column\": 45\n            },\n            \"end\": {\n              \"line\": 148,\n              \"column\": 1\n            }\n          },\n          \"body\": [\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 3164,\n              \"end\": 3197,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 111,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 111,\n                  \"column\": 34\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 3170,\n                  \"end\": 3196,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 111,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 111,\n                      \"column\": 33\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3170,\n                    \"end\": 3177,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 111,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 111,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"a_count\"\n                    },\n                    \"name\": \"a_count\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 3180,\n                    \"end\": 3196,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 111,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 111,\n                        \"column\": 33\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 3180,\n                      \"end\": 3189,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 111,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 111,\n                          \"column\": 26\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3180,\n                        \"end\": 3181,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 111,\n                            \"column\": 17\n                          },\n                          \"end\": {\n                            \"line\": 111,\n                            \"column\": 18\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3182,\n                        \"end\": 3189,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 111,\n                            \"column\": 19\n                          },\n                          \"end\": {\n                            \"line\": 111,\n                            \"column\": 26\n                          },\n                          \"identifierName\": \"_coords\"\n                        },\n                        \"name\": \"_coords\"\n                      },\n                      \"computed\": false\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3190,\n                      \"end\": 3196,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 111,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 111,\n                          \"column\": 33\n                        },\n                        \"identifierName\": \"length\"\n                      },\n                      \"name\": \"length\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 3199,\n              \"end\": 3232,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 112,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 112,\n                  \"column\": 34\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 3205,\n                  \"end\": 3231,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 112,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 112,\n                      \"column\": 33\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3205,\n                    \"end\": 3212,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 112,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 112,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"b_count\"\n                    },\n                    \"name\": \"b_count\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 3215,\n                    \"end\": 3231,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 112,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 112,\n                        \"column\": 33\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 3215,\n                      \"end\": 3224,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 112,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 112,\n                          \"column\": 26\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3215,\n                        \"end\": 3216,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 112,\n                            \"column\": 17\n                          },\n                          \"end\": {\n                            \"line\": 112,\n                            \"column\": 18\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3217,\n                        \"end\": 3224,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 112,\n                            \"column\": 19\n                          },\n                          \"end\": {\n                            \"line\": 112,\n                            \"column\": 26\n                          },\n                          \"identifierName\": \"_coords\"\n                        },\n                        \"name\": \"_coords\"\n                      },\n                      \"computed\": false\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3225,\n                      \"end\": 3231,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 112,\n                          \"column\": 27\n                        },\n                        \"end\": {\n                          \"line\": 112,\n                          \"column\": 33\n                        },\n                        \"identifierName\": \"length\"\n                      },\n                      \"name\": \"length\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\",\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentLine\",\n                  \"value\": \" Handle points specially\",\n                  \"start\": 3235,\n                  \"end\": 3261,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 114,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 114,\n                      \"column\": 27\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 3263,\n              \"end\": 3475,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 115,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 124,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"LogicalExpression\",\n                \"start\": 3266,\n                \"end\": 3296,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 115,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 115,\n                    \"column\": 34\n                  }\n                },\n                \"left\": {\n                  \"type\": \"BinaryExpression\",\n                  \"start\": 3266,\n                  \"end\": 3279,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 115,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 115,\n                      \"column\": 17\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3266,\n                    \"end\": 3273,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 115,\n                        \"column\": 4\n                      },\n                      \"end\": {\n                        \"line\": 115,\n                        \"column\": 11\n                      },\n                      \"identifierName\": \"a_count\"\n                    },\n                    \"name\": \"a_count\",\n                    \"leadingComments\": null\n                  },\n                  \"operator\": \"===\",\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 3278,\n                    \"end\": 3279,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 115,\n                        \"column\": 16\n                      },\n                      \"end\": {\n                        \"line\": 115,\n                        \"column\": 17\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 2,\n                      \"raw\": \"2\"\n                    },\n                    \"value\": 2\n                  },\n                  \"leadingComments\": null\n                },\n                \"operator\": \"&&\",\n                \"right\": {\n                  \"type\": \"BinaryExpression\",\n                  \"start\": 3283,\n                  \"end\": 3296,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 115,\n                      \"column\": 21\n                    },\n                    \"end\": {\n                      \"line\": 115,\n                      \"column\": 34\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3283,\n                    \"end\": 3290,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 115,\n                        \"column\": 21\n                      },\n                      \"end\": {\n                        \"line\": 115,\n                        \"column\": 28\n                      },\n                      \"identifierName\": \"b_count\"\n                    },\n                    \"name\": \"b_count\"\n                  },\n                  \"operator\": \"===\",\n                  \"right\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 3295,\n                    \"end\": 3296,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 115,\n                        \"column\": 33\n                      },\n                      \"end\": {\n                        \"line\": 115,\n                        \"column\": 34\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 2,\n                      \"raw\": \"2\"\n                    },\n                    \"value\": 2\n                  }\n                },\n                \"leadingComments\": null\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 3298,\n                \"end\": 3475,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 115,\n                    \"column\": 36\n                  },\n                  \"end\": {\n                    \"line\": 124,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 3302,\n                    \"end\": 3329,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 116,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 116,\n                        \"column\": 29\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 3308,\n                        \"end\": 3328,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 116,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 116,\n                            \"column\": 28\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3308,\n                          \"end\": 3316,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 116,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 116,\n                              \"column\": 16\n                            },\n                            \"identifierName\": \"a_coords\"\n                          },\n                          \"name\": \"a_coords\"\n                        },\n                        \"init\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3319,\n                          \"end\": 3328,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 116,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 116,\n                              \"column\": 28\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3319,\n                            \"end\": 3320,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 116,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 116,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"a\"\n                            },\n                            \"name\": \"a\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3321,\n                            \"end\": 3328,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 116,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 116,\n                                \"column\": 28\n                              },\n                              \"identifierName\": \"_coords\"\n                            },\n                            \"name\": \"_coords\"\n                          },\n                          \"computed\": false\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 3332,\n                    \"end\": 3359,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 117,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 117,\n                        \"column\": 29\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 3338,\n                        \"end\": 3358,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 117,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 117,\n                            \"column\": 28\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 3338,\n                          \"end\": 3346,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 117,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 117,\n                              \"column\": 16\n                            },\n                            \"identifierName\": \"b_coords\"\n                          },\n                          \"name\": \"b_coords\"\n                        },\n                        \"init\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3349,\n                          \"end\": 3358,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 117,\n                              \"column\": 19\n                            },\n                            \"end\": {\n                              \"line\": 117,\n                              \"column\": 28\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3349,\n                            \"end\": 3350,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 117,\n                                \"column\": 19\n                              },\n                              \"end\": {\n                                \"line\": 117,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"b\"\n                            },\n                            \"name\": \"b\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3351,\n                            \"end\": 3358,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 117,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 117,\n                                \"column\": 28\n                              },\n                              \"identifierName\": \"_coords\"\n                            },\n                            \"name\": \"_coords\"\n                          },\n                          \"computed\": false\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 3363,\n                    \"end\": 3402,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 119,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 121,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3366,\n                      \"end\": 3372,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 119,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 119,\n                          \"column\": 11\n                        },\n                        \"identifierName\": \"result\"\n                      },\n                      \"name\": \"result\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 3374,\n                      \"end\": 3402,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 119,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 121,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 3379,\n                          \"end\": 3398,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 120,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 120,\n                              \"column\": 22\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 3379,\n                            \"end\": 3397,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 120,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 120,\n                                \"column\": 21\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 3379,\n                              \"end\": 3393,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 120,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 120,\n                                  \"column\": 17\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 3379,\n                                \"end\": 3385,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 120,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 120,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 3386,\n                                \"end\": 3393,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 120,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 120,\n                                    \"column\": 17\n                                  },\n                                  \"identifierName\": \"overlap\"\n                                },\n                                \"name\": \"overlap\"\n                              },\n                              \"computed\": false\n                            },\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 3396,\n                              \"end\": 3397,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 120,\n                                  \"column\": 20\n                                },\n                                \"end\": {\n                                  \"line\": 120,\n                                  \"column\": 21\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  },\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 3406,\n                    \"end\": 3472,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 123,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 123,\n                        \"column\": 68\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"LogicalExpression\",\n                      \"start\": 3413,\n                      \"end\": 3471,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 123,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 123,\n                          \"column\": 67\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 3413,\n                        \"end\": 3440,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 123,\n                            \"column\": 9\n                          },\n                          \"end\": {\n                            \"line\": 123,\n                            \"column\": 36\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3413,\n                          \"end\": 3424,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 123,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 123,\n                              \"column\": 20\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3413,\n                            \"end\": 3421,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 9\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 17\n                              },\n                              \"identifierName\": \"a_coords\"\n                            },\n                            \"name\": \"a_coords\"\n                          },\n                          \"property\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3422,\n                            \"end\": 3423,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 19\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          },\n                          \"computed\": true\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3429,\n                          \"end\": 3440,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 123,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 123,\n                              \"column\": 36\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3429,\n                            \"end\": 3437,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 25\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 33\n                              },\n                              \"identifierName\": \"b_coords\"\n                            },\n                            \"name\": \"b_coords\"\n                          },\n                          \"property\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3438,\n                            \"end\": 3439,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 34\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 35\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          },\n                          \"computed\": true\n                        }\n                      },\n                      \"operator\": \"&&\",\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 3444,\n                        \"end\": 3471,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 123,\n                            \"column\": 40\n                          },\n                          \"end\": {\n                            \"line\": 123,\n                            \"column\": 67\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3444,\n                          \"end\": 3455,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 123,\n                              \"column\": 40\n                            },\n                            \"end\": {\n                              \"line\": 123,\n                              \"column\": 51\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3444,\n                            \"end\": 3452,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 40\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 48\n                              },\n                              \"identifierName\": \"a_coords\"\n                            },\n                            \"name\": \"a_coords\"\n                          },\n                          \"property\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3453,\n                            \"end\": 3454,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 49\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 50\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          },\n                          \"computed\": true\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 3460,\n                          \"end\": 3471,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 123,\n                              \"column\": 56\n                            },\n                            \"end\": {\n                              \"line\": 123,\n                              \"column\": 67\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3460,\n                            \"end\": 3468,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 56\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 64\n                              },\n                              \"identifierName\": \"b_coords\"\n                            },\n                            \"name\": \"b_coords\"\n                          },\n                          \"property\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3469,\n                            \"end\": 3470,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 123,\n                                \"column\": 65\n                              },\n                              \"end\": {\n                                \"line\": 123,\n                                \"column\": 66\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          },\n                          \"computed\": true\n                        }\n                      }\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null,\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentLine\",\n                  \"value\": \" Handle points specially\",\n                  \"start\": 3235,\n                  \"end\": 3261,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 114,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 114,\n                      \"column\": 27\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 3478,\n              \"end\": 3506,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 126,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 126,\n                  \"column\": 29\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 3484,\n                  \"end\": 3505,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 126,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 126,\n                      \"column\": 28\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3484,\n                    \"end\": 3492,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 126,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 126,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"a_coords\"\n                    },\n                    \"name\": \"a_coords\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 3496,\n                    \"end\": 3505,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 126,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 126,\n                        \"column\": 28\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3496,\n                      \"end\": 3497,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 126,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 126,\n                          \"column\": 20\n                        },\n                        \"identifierName\": \"a\"\n                      },\n                      \"name\": \"a\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3498,\n                      \"end\": 3505,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 126,\n                          \"column\": 21\n                        },\n                        \"end\": {\n                          \"line\": 126,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"_coords\"\n                      },\n                      \"name\": \"_coords\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 3508,\n              \"end\": 3536,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 127,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 127,\n                  \"column\": 29\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 3514,\n                  \"end\": 3535,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 127,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 127,\n                      \"column\": 28\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3514,\n                    \"end\": 3522,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 127,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 127,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"b_coords\"\n                    },\n                    \"name\": \"b_coords\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 3526,\n                    \"end\": 3535,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 127,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 127,\n                        \"column\": 28\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3526,\n                      \"end\": 3527,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 127,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 127,\n                          \"column\": 20\n                        },\n                        \"identifierName\": \"b\"\n                      },\n                      \"name\": \"b\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3528,\n                      \"end\": 3535,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 127,\n                          \"column\": 21\n                        },\n                        \"end\": {\n                          \"line\": 127,\n                          \"column\": 28\n                        },\n                        \"identifierName\": \"_coords\"\n                      },\n                      \"name\": \"_coords\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 3538,\n              \"end\": 3567,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 128,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 128,\n                  \"column\": 30\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 3544,\n                  \"end\": 3566,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 128,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 128,\n                      \"column\": 29\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3544,\n                    \"end\": 3553,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 128,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 128,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"a_normals\"\n                    },\n                    \"name\": \"a_normals\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 3556,\n                    \"end\": 3566,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 128,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 128,\n                        \"column\": 29\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3556,\n                      \"end\": 3557,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 128,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 128,\n                          \"column\": 20\n                        },\n                        \"identifierName\": \"a\"\n                      },\n                      \"name\": \"a\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3558,\n                      \"end\": 3566,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 128,\n                          \"column\": 21\n                        },\n                        \"end\": {\n                          \"line\": 128,\n                          \"column\": 29\n                        },\n                        \"identifierName\": \"_normals\"\n                      },\n                      \"name\": \"_normals\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 3569,\n              \"end\": 3598,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 129,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 129,\n                  \"column\": 30\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 3575,\n                  \"end\": 3597,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 129,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 129,\n                      \"column\": 29\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 3575,\n                    \"end\": 3584,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 129,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 129,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"b_normals\"\n                    },\n                    \"name\": \"b_normals\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 3587,\n                    \"end\": 3597,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 129,\n                        \"column\": 19\n                      },\n                      \"end\": {\n                        \"line\": 129,\n                        \"column\": 29\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3587,\n                      \"end\": 3588,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 129,\n                          \"column\": 19\n                        },\n                        \"end\": {\n                          \"line\": 129,\n                          \"column\": 20\n                        },\n                        \"identifierName\": \"b\"\n                      },\n                      \"name\": \"b\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 3589,\n                      \"end\": 3597,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 129,\n                          \"column\": 21\n                        },\n                        \"end\": {\n                          \"line\": 129,\n                          \"column\": 29\n                        },\n                        \"identifierName\": \"_normals\"\n                      },\n                      \"name\": \"_normals\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 3601,\n              \"end\": 3790,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 131,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 137,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"BinaryExpression\",\n                \"start\": 3604,\n                \"end\": 3615,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 131,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 131,\n                    \"column\": 15\n                  }\n                },\n                \"left\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 3604,\n                  \"end\": 3611,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 131,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 131,\n                      \"column\": 11\n                    },\n                    \"identifierName\": \"a_count\"\n                  },\n                  \"name\": \"a_count\"\n                },\n                \"operator\": \">\",\n                \"right\": {\n                  \"type\": \"NumericLiteral\",\n                  \"start\": 3614,\n                  \"end\": 3615,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 131,\n                      \"column\": 14\n                    },\n                    \"end\": {\n                      \"line\": 131,\n                      \"column\": 15\n                    }\n                  },\n                  \"extra\": {\n                    \"rawValue\": 2,\n                    \"raw\": \"2\"\n                  },\n                  \"value\": 2\n                }\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 3617,\n                \"end\": 3790,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 131,\n                    \"column\": 17\n                  },\n                  \"end\": {\n                    \"line\": 137,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ForStatement\",\n                    \"start\": 3621,\n                    \"end\": 3787,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 132,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 136,\n                        \"column\": 3\n                      }\n                    },\n                    \"init\": {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3625,\n                      \"end\": 3643,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 132,\n                          \"column\": 6\n                        },\n                        \"end\": {\n                          \"line\": 132,\n                          \"column\": 24\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3629,\n                          \"end\": 3635,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 10\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 16\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3629,\n                            \"end\": 3631,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"ix\"\n                            },\n                            \"name\": \"ix\"\n                          },\n                          \"init\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3634,\n                            \"end\": 3635,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 15\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 16\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          }\n                        },\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3637,\n                          \"end\": 3643,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 24\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3637,\n                            \"end\": 3639,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"iy\"\n                            },\n                            \"name\": \"iy\"\n                          },\n                          \"init\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3642,\n                            \"end\": 3643,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 23\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 24\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    \"test\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 3645,\n                      \"end\": 3657,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 132,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 132,\n                          \"column\": 38\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3645,\n                        \"end\": 3647,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 132,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 132,\n                            \"column\": 28\n                          },\n                          \"identifierName\": \"ix\"\n                        },\n                        \"name\": \"ix\"\n                      },\n                      \"operator\": \"<\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3650,\n                        \"end\": 3657,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 132,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 132,\n                            \"column\": 38\n                          },\n                          \"identifierName\": \"a_count\"\n                        },\n                        \"name\": \"a_count\"\n                      }\n                    },\n                    \"update\": {\n                      \"type\": \"SequenceExpression\",\n                      \"start\": 3659,\n                      \"end\": 3675,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 132,\n                          \"column\": 40\n                        },\n                        \"end\": {\n                          \"line\": 132,\n                          \"column\": 56\n                        }\n                      },\n                      \"expressions\": [\n                        {\n                          \"type\": \"AssignmentExpression\",\n                          \"start\": 3659,\n                          \"end\": 3666,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 40\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 47\n                            }\n                          },\n                          \"operator\": \"+=\",\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3659,\n                            \"end\": 3661,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 40\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 42\n                              },\n                              \"identifierName\": \"ix\"\n                            },\n                            \"name\": \"ix\"\n                          },\n                          \"right\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3665,\n                            \"end\": 3666,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 46\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 47\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 2,\n                              \"raw\": \"2\"\n                            },\n                            \"value\": 2\n                          }\n                        },\n                        {\n                          \"type\": \"AssignmentExpression\",\n                          \"start\": 3668,\n                          \"end\": 3675,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 132,\n                              \"column\": 49\n                            },\n                            \"end\": {\n                              \"line\": 132,\n                              \"column\": 56\n                            }\n                          },\n                          \"operator\": \"+=\",\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3668,\n                            \"end\": 3670,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 49\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 51\n                              },\n                              \"identifierName\": \"iy\"\n                            },\n                            \"name\": \"iy\"\n                          },\n                          \"right\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3674,\n                            \"end\": 3675,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 132,\n                                \"column\": 55\n                              },\n                              \"end\": {\n                                \"line\": 132,\n                                \"column\": 56\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 2,\n                              \"raw\": \"2\"\n                            },\n                            \"value\": 2\n                          }\n                        }\n                      ]\n                    },\n                    \"body\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 3677,\n                      \"end\": 3787,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 132,\n                          \"column\": 58\n                        },\n                        \"end\": {\n                          \"line\": 136,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"IfStatement\",\n                          \"start\": 3682,\n                          \"end\": 3783,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 133,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 135,\n                              \"column\": 4\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"CallExpression\",\n                            \"start\": 3685,\n                            \"end\": 3757,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 133,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 133,\n                                \"column\": 78\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3685,\n                              \"end\": 3699,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 133,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 133,\n                                  \"column\": 20\n                                },\n                                \"identifierName\": \"separatingAxis\"\n                              },\n                              \"name\": \"separatingAxis\"\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 3700,\n                                \"end\": 3708,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 133,\n                                    \"column\": 21\n                                  },\n                                  \"end\": {\n                                    \"line\": 133,\n                                    \"column\": 29\n                                  },\n                                  \"identifierName\": \"a_coords\"\n                                },\n                                \"name\": \"a_coords\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 3710,\n                                \"end\": 3718,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 133,\n                                    \"column\": 31\n                                  },\n                                  \"end\": {\n                                    \"line\": 133,\n                                    \"column\": 39\n                                  },\n                                  \"identifierName\": \"b_coords\"\n                                },\n                                \"name\": \"b_coords\"\n                              },\n                              {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3720,\n                                \"end\": 3733,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 133,\n                                    \"column\": 41\n                                  },\n                                  \"end\": {\n                                    \"line\": 133,\n                                    \"column\": 54\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3720,\n                                  \"end\": 3729,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 133,\n                                      \"column\": 41\n                                    },\n                                    \"end\": {\n                                      \"line\": 133,\n                                      \"column\": 50\n                                    },\n                                    \"identifierName\": \"a_normals\"\n                                  },\n                                  \"name\": \"a_normals\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3730,\n                                  \"end\": 3732,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 133,\n                                      \"column\": 51\n                                    },\n                                    \"end\": {\n                                      \"line\": 133,\n                                      \"column\": 53\n                                    },\n                                    \"identifierName\": \"ix\"\n                                  },\n                                  \"name\": \"ix\"\n                                },\n                                \"computed\": true\n                              },\n                              {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3735,\n                                \"end\": 3748,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 133,\n                                    \"column\": 56\n                                  },\n                                  \"end\": {\n                                    \"line\": 133,\n                                    \"column\": 69\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3735,\n                                  \"end\": 3744,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 133,\n                                      \"column\": 56\n                                    },\n                                    \"end\": {\n                                      \"line\": 133,\n                                      \"column\": 65\n                                    },\n                                    \"identifierName\": \"a_normals\"\n                                  },\n                                  \"name\": \"a_normals\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3745,\n                                  \"end\": 3747,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 133,\n                                      \"column\": 66\n                                    },\n                                    \"end\": {\n                                      \"line\": 133,\n                                      \"column\": 68\n                                    },\n                                    \"identifierName\": \"iy\"\n                                  },\n                                  \"name\": \"iy\"\n                                },\n                                \"computed\": true\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 3750,\n                                \"end\": 3756,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 133,\n                                    \"column\": 71\n                                  },\n                                  \"end\": {\n                                    \"line\": 133,\n                                    \"column\": 77\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              }\n                            ]\n                          },\n                          \"consequent\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 3759,\n                            \"end\": 3783,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 133,\n                                \"column\": 80\n                              },\n                              \"end\": {\n                                \"line\": 135,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"ReturnStatement\",\n                                \"start\": 3765,\n                                \"end\": 3778,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 134,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 134,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"argument\": {\n                                  \"type\": \"BooleanLiteral\",\n                                  \"start\": 3772,\n                                  \"end\": 3777,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 134,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 134,\n                                      \"column\": 16\n                                    }\n                                  },\n                                  \"value\": false\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          },\n                          \"alternate\": null\n                        }\n                      ],\n                      \"directives\": []\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 3793,\n              \"end\": 3982,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 139,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 145,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"BinaryExpression\",\n                \"start\": 3796,\n                \"end\": 3807,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 139,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 139,\n                    \"column\": 15\n                  }\n                },\n                \"left\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 3796,\n                  \"end\": 3803,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 139,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 139,\n                      \"column\": 11\n                    },\n                    \"identifierName\": \"b_count\"\n                  },\n                  \"name\": \"b_count\"\n                },\n                \"operator\": \">\",\n                \"right\": {\n                  \"type\": \"NumericLiteral\",\n                  \"start\": 3806,\n                  \"end\": 3807,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 139,\n                      \"column\": 14\n                    },\n                    \"end\": {\n                      \"line\": 139,\n                      \"column\": 15\n                    }\n                  },\n                  \"extra\": {\n                    \"rawValue\": 2,\n                    \"raw\": \"2\"\n                  },\n                  \"value\": 2\n                }\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 3809,\n                \"end\": 3982,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 139,\n                    \"column\": 17\n                  },\n                  \"end\": {\n                    \"line\": 145,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ForStatement\",\n                    \"start\": 3813,\n                    \"end\": 3979,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 140,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 144,\n                        \"column\": 3\n                      }\n                    },\n                    \"init\": {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 3817,\n                      \"end\": 3835,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 140,\n                          \"column\": 6\n                        },\n                        \"end\": {\n                          \"line\": 140,\n                          \"column\": 24\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3821,\n                          \"end\": 3827,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 140,\n                              \"column\": 10\n                            },\n                            \"end\": {\n                              \"line\": 140,\n                              \"column\": 16\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3821,\n                            \"end\": 3823,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"ix\"\n                            },\n                            \"name\": \"ix\"\n                          },\n                          \"init\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3826,\n                            \"end\": 3827,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 15\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 16\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          }\n                        },\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 3829,\n                          \"end\": 3835,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 140,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 140,\n                              \"column\": 24\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3829,\n                            \"end\": 3831,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"iy\"\n                            },\n                            \"name\": \"iy\"\n                          },\n                          \"init\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3834,\n                            \"end\": 3835,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 23\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 24\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    \"test\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 3837,\n                      \"end\": 3849,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 140,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 140,\n                          \"column\": 38\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3837,\n                        \"end\": 3839,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 140,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 140,\n                            \"column\": 28\n                          },\n                          \"identifierName\": \"ix\"\n                        },\n                        \"name\": \"ix\"\n                      },\n                      \"operator\": \"<\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 3842,\n                        \"end\": 3849,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 140,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 140,\n                            \"column\": 38\n                          },\n                          \"identifierName\": \"b_count\"\n                        },\n                        \"name\": \"b_count\"\n                      }\n                    },\n                    \"update\": {\n                      \"type\": \"SequenceExpression\",\n                      \"start\": 3851,\n                      \"end\": 3867,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 140,\n                          \"column\": 40\n                        },\n                        \"end\": {\n                          \"line\": 140,\n                          \"column\": 56\n                        }\n                      },\n                      \"expressions\": [\n                        {\n                          \"type\": \"AssignmentExpression\",\n                          \"start\": 3851,\n                          \"end\": 3858,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 140,\n                              \"column\": 40\n                            },\n                            \"end\": {\n                              \"line\": 140,\n                              \"column\": 47\n                            }\n                          },\n                          \"operator\": \"+=\",\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3851,\n                            \"end\": 3853,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 40\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 42\n                              },\n                              \"identifierName\": \"ix\"\n                            },\n                            \"name\": \"ix\"\n                          },\n                          \"right\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3857,\n                            \"end\": 3858,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 46\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 47\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 2,\n                              \"raw\": \"2\"\n                            },\n                            \"value\": 2\n                          }\n                        },\n                        {\n                          \"type\": \"AssignmentExpression\",\n                          \"start\": 3860,\n                          \"end\": 3867,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 140,\n                              \"column\": 49\n                            },\n                            \"end\": {\n                              \"line\": 140,\n                              \"column\": 56\n                            }\n                          },\n                          \"operator\": \"+=\",\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 3860,\n                            \"end\": 3862,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 49\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 51\n                              },\n                              \"identifierName\": \"iy\"\n                            },\n                            \"name\": \"iy\"\n                          },\n                          \"right\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 3866,\n                            \"end\": 3867,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 140,\n                                \"column\": 55\n                              },\n                              \"end\": {\n                                \"line\": 140,\n                                \"column\": 56\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 2,\n                              \"raw\": \"2\"\n                            },\n                            \"value\": 2\n                          }\n                        }\n                      ]\n                    },\n                    \"body\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 3869,\n                      \"end\": 3979,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 140,\n                          \"column\": 58\n                        },\n                        \"end\": {\n                          \"line\": 144,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"IfStatement\",\n                          \"start\": 3874,\n                          \"end\": 3975,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 141,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 143,\n                              \"column\": 4\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"CallExpression\",\n                            \"start\": 3877,\n                            \"end\": 3949,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 141,\n                                \"column\": 78\n                              }\n                            },\n                            \"callee\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 3877,\n                              \"end\": 3891,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 141,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 141,\n                                  \"column\": 20\n                                },\n                                \"identifierName\": \"separatingAxis\"\n                              },\n                              \"name\": \"separatingAxis\"\n                            },\n                            \"arguments\": [\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 3892,\n                                \"end\": 3900,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 141,\n                                    \"column\": 21\n                                  },\n                                  \"end\": {\n                                    \"line\": 141,\n                                    \"column\": 29\n                                  },\n                                  \"identifierName\": \"a_coords\"\n                                },\n                                \"name\": \"a_coords\"\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 3902,\n                                \"end\": 3910,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 141,\n                                    \"column\": 31\n                                  },\n                                  \"end\": {\n                                    \"line\": 141,\n                                    \"column\": 39\n                                  },\n                                  \"identifierName\": \"b_coords\"\n                                },\n                                \"name\": \"b_coords\"\n                              },\n                              {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3912,\n                                \"end\": 3925,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 141,\n                                    \"column\": 41\n                                  },\n                                  \"end\": {\n                                    \"line\": 141,\n                                    \"column\": 54\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3912,\n                                  \"end\": 3921,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 141,\n                                      \"column\": 41\n                                    },\n                                    \"end\": {\n                                      \"line\": 141,\n                                      \"column\": 50\n                                    },\n                                    \"identifierName\": \"b_normals\"\n                                  },\n                                  \"name\": \"b_normals\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3922,\n                                  \"end\": 3924,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 141,\n                                      \"column\": 51\n                                    },\n                                    \"end\": {\n                                      \"line\": 141,\n                                      \"column\": 53\n                                    },\n                                    \"identifierName\": \"ix\"\n                                  },\n                                  \"name\": \"ix\"\n                                },\n                                \"computed\": true\n                              },\n                              {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 3927,\n                                \"end\": 3940,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 141,\n                                    \"column\": 56\n                                  },\n                                  \"end\": {\n                                    \"line\": 141,\n                                    \"column\": 69\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3927,\n                                  \"end\": 3936,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 141,\n                                      \"column\": 56\n                                    },\n                                    \"end\": {\n                                      \"line\": 141,\n                                      \"column\": 65\n                                    },\n                                    \"identifierName\": \"b_normals\"\n                                  },\n                                  \"name\": \"b_normals\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 3937,\n                                  \"end\": 3939,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 141,\n                                      \"column\": 66\n                                    },\n                                    \"end\": {\n                                      \"line\": 141,\n                                      \"column\": 68\n                                    },\n                                    \"identifierName\": \"iy\"\n                                  },\n                                  \"name\": \"iy\"\n                                },\n                                \"computed\": true\n                              },\n                              {\n                                \"type\": \"Identifier\",\n                                \"start\": 3942,\n                                \"end\": 3948,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 141,\n                                    \"column\": 71\n                                  },\n                                  \"end\": {\n                                    \"line\": 141,\n                                    \"column\": 77\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              }\n                            ]\n                          },\n                          \"consequent\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 3951,\n                            \"end\": 3975,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 141,\n                                \"column\": 80\n                              },\n                              \"end\": {\n                                \"line\": 143,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"ReturnStatement\",\n                                \"start\": 3957,\n                                \"end\": 3970,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 142,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 142,\n                                    \"column\": 17\n                                  }\n                                },\n                                \"argument\": {\n                                  \"type\": \"BooleanLiteral\",\n                                  \"start\": 3964,\n                                  \"end\": 3969,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 142,\n                                      \"column\": 11\n                                    },\n                                    \"end\": {\n                                      \"line\": 142,\n                                      \"column\": 16\n                                    }\n                                  },\n                                  \"value\": false\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          },\n                          \"alternate\": null\n                        }\n                      ],\n                      \"directives\": []\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"ReturnStatement\",\n              \"start\": 3985,\n              \"end\": 3997,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 147,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 147,\n                  \"column\": 13\n                }\n              },\n              \"argument\": {\n                \"type\": \"BooleanLiteral\",\n                \"start\": 3992,\n                \"end\": 3996,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 147,\n                    \"column\": 8\n                  },\n                  \"end\": {\n                    \"line\": 147,\n                    \"column\": 12\n                  }\n                },\n                \"value\": true\n              }\n            }\n          ],\n          \"directives\": [],\n          \"trailingComments\": null\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two polygons are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Polygon} b The target polygon to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n            \"start\": 2835,\n            \"end\": 3115,\n            \"loc\": {\n              \"start\": {\n                \"line\": 103,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 109,\n                \"column\": 3\n              }\n            }\n          }\n        ],\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if a polygon and a circle are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\\n * @returns {Boolean}\\n \",\n            \"start\": 4001,\n            \"end\": 4438,\n            \"loc\": {\n              \"start\": {\n                \"line\": 150,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 157,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"FunctionDeclaration\",\n        \"start\": 4439,\n        \"end\": 8037,\n        \"loc\": {\n          \"start\": {\n            \"line\": 158,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 282,\n            \"column\": 1\n          }\n        },\n        \"id\": {\n          \"type\": \"Identifier\",\n          \"start\": 4448,\n          \"end\": 4461,\n          \"loc\": {\n            \"start\": {\n              \"line\": 158,\n              \"column\": 9\n            },\n            \"end\": {\n              \"line\": 158,\n              \"column\": 22\n            },\n            \"identifierName\": \"polygonCircle\"\n          },\n          \"name\": \"polygonCircle\",\n          \"leadingComments\": null\n        },\n        \"generator\": false,\n        \"expression\": false,\n        \"async\": false,\n        \"params\": [\n          {\n            \"type\": \"Identifier\",\n            \"start\": 4462,\n            \"end\": 4463,\n            \"loc\": {\n              \"start\": {\n                \"line\": 158,\n                \"column\": 23\n              },\n              \"end\": {\n                \"line\": 158,\n                \"column\": 24\n              },\n              \"identifierName\": \"a\"\n            },\n            \"name\": \"a\"\n          },\n          {\n            \"type\": \"Identifier\",\n            \"start\": 4465,\n            \"end\": 4466,\n            \"loc\": {\n              \"start\": {\n                \"line\": 158,\n                \"column\": 26\n              },\n              \"end\": {\n                \"line\": 158,\n                \"column\": 27\n              },\n              \"identifierName\": \"b\"\n            },\n            \"name\": \"b\"\n          },\n          {\n            \"type\": \"AssignmentPattern\",\n            \"start\": 4468,\n            \"end\": 4481,\n            \"loc\": {\n              \"start\": {\n                \"line\": 158,\n                \"column\": 29\n              },\n              \"end\": {\n                \"line\": 158,\n                \"column\": 42\n              }\n            },\n            \"left\": {\n              \"type\": \"Identifier\",\n              \"start\": 4468,\n              \"end\": 4474,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 158,\n                  \"column\": 29\n                },\n                \"end\": {\n                  \"line\": 158,\n                  \"column\": 35\n                },\n                \"identifierName\": \"result\"\n              },\n              \"name\": \"result\"\n            },\n            \"right\": {\n              \"type\": \"NullLiteral\",\n              \"start\": 4477,\n              \"end\": 4481,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 158,\n                  \"column\": 38\n                },\n                \"end\": {\n                  \"line\": 158,\n                  \"column\": 42\n                }\n              }\n            }\n          },\n          {\n            \"type\": \"AssignmentPattern\",\n            \"start\": 4483,\n            \"end\": 4498,\n            \"loc\": {\n              \"start\": {\n                \"line\": 158,\n                \"column\": 44\n              },\n              \"end\": {\n                \"line\": 158,\n                \"column\": 59\n              }\n            },\n            \"left\": {\n              \"type\": \"Identifier\",\n              \"start\": 4483,\n              \"end\": 4490,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 158,\n                  \"column\": 44\n                },\n                \"end\": {\n                  \"line\": 158,\n                  \"column\": 51\n                },\n                \"identifierName\": \"reverse\"\n              },\n              \"name\": \"reverse\"\n            },\n            \"right\": {\n              \"type\": \"BooleanLiteral\",\n              \"start\": 4493,\n              \"end\": 4498,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 158,\n                  \"column\": 54\n                },\n                \"end\": {\n                  \"line\": 158,\n                  \"column\": 59\n                }\n              },\n              \"value\": false\n            }\n          }\n        ],\n        \"body\": {\n          \"type\": \"BlockStatement\",\n          \"start\": 4500,\n          \"end\": 8037,\n          \"loc\": {\n            \"start\": {\n              \"line\": 158,\n              \"column\": 61\n            },\n            \"end\": {\n              \"line\": 282,\n              \"column\": 1\n            }\n          },\n          \"body\": [\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4503,\n              \"end\": 4536,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 159,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 159,\n                  \"column\": 34\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4509,\n                  \"end\": 4535,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 159,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 159,\n                      \"column\": 33\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4509,\n                    \"end\": 4517,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 159,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 159,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"a_coords\"\n                    },\n                    \"name\": \"a_coords\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 4526,\n                    \"end\": 4535,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 159,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 159,\n                        \"column\": 33\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4526,\n                      \"end\": 4527,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 159,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 159,\n                          \"column\": 25\n                        },\n                        \"identifierName\": \"a\"\n                      },\n                      \"name\": \"a\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4528,\n                      \"end\": 4535,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 159,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 159,\n                          \"column\": 33\n                        },\n                        \"identifierName\": \"_coords\"\n                      },\n                      \"name\": \"_coords\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4538,\n              \"end\": 4570,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 160,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 160,\n                  \"column\": 33\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4544,\n                  \"end\": 4569,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 160,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 160,\n                      \"column\": 32\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4544,\n                    \"end\": 4551,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 160,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 160,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"a_edges\"\n                    },\n                    \"name\": \"a_edges\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 4561,\n                    \"end\": 4569,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 160,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 160,\n                        \"column\": 32\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4561,\n                      \"end\": 4562,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 160,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 160,\n                          \"column\": 25\n                        },\n                        \"identifierName\": \"a\"\n                      },\n                      \"name\": \"a\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4563,\n                      \"end\": 4569,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 160,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 160,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"_edges\"\n                      },\n                      \"name\": \"_edges\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4572,\n              \"end\": 4606,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 161,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 161,\n                  \"column\": 35\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4578,\n                  \"end\": 4605,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 161,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 161,\n                      \"column\": 34\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4578,\n                    \"end\": 4587,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 161,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 161,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"a_normals\"\n                    },\n                    \"name\": \"a_normals\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 4595,\n                    \"end\": 4605,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 161,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 161,\n                        \"column\": 34\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4595,\n                      \"end\": 4596,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 161,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 161,\n                          \"column\": 25\n                        },\n                        \"identifierName\": \"a\"\n                      },\n                      \"name\": \"a\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4597,\n                      \"end\": 4605,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 161,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 161,\n                          \"column\": 34\n                        },\n                        \"identifierName\": \"_normals\"\n                      },\n                      \"name\": \"_normals\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4608,\n              \"end\": 4635,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 162,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 162,\n                  \"column\": 28\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4614,\n                  \"end\": 4634,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 162,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 162,\n                      \"column\": 27\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4614,\n                    \"end\": 4617,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 162,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 162,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"b_x\"\n                    },\n                    \"name\": \"b_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 4631,\n                    \"end\": 4634,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 162,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 162,\n                        \"column\": 27\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4631,\n                      \"end\": 4632,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 162,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 162,\n                          \"column\": 25\n                        },\n                        \"identifierName\": \"b\"\n                      },\n                      \"name\": \"b\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4633,\n                      \"end\": 4634,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 162,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 162,\n                          \"column\": 27\n                        },\n                        \"identifierName\": \"x\"\n                      },\n                      \"name\": \"x\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4637,\n              \"end\": 4664,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 163,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 163,\n                  \"column\": 28\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4643,\n                  \"end\": 4663,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 163,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 163,\n                      \"column\": 27\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4643,\n                    \"end\": 4646,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 163,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 163,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"b_y\"\n                    },\n                    \"name\": \"b_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 4660,\n                    \"end\": 4663,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 163,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 163,\n                        \"column\": 27\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4660,\n                      \"end\": 4661,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 163,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 163,\n                          \"column\": 25\n                        },\n                        \"identifierName\": \"b\"\n                      },\n                      \"name\": \"b\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4662,\n                      \"end\": 4663,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 163,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 163,\n                          \"column\": 27\n                        },\n                        \"identifierName\": \"y\"\n                      },\n                      \"name\": \"y\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4666,\n              \"end\": 4708,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 164,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 164,\n                  \"column\": 43\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4672,\n                  \"end\": 4707,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 164,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 164,\n                      \"column\": 42\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4672,\n                    \"end\": 4680,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 164,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 164,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"b_radius\"\n                    },\n                    \"name\": \"b_radius\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 4689,\n                    \"end\": 4707,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 164,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 164,\n                        \"column\": 42\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 4689,\n                      \"end\": 4697,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 164,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 164,\n                          \"column\": 32\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 4689,\n                        \"end\": 4690,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 164,\n                            \"column\": 24\n                          },\n                          \"end\": {\n                            \"line\": 164,\n                            \"column\": 25\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 4691,\n                        \"end\": 4697,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 164,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 164,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"radius\"\n                        },\n                        \"name\": \"radius\"\n                      },\n                      \"computed\": false\n                    },\n                    \"operator\": \"*\",\n                    \"right\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 4700,\n                      \"end\": 4707,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 164,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 164,\n                          \"column\": 42\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 4700,\n                        \"end\": 4701,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 164,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 164,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 4702,\n                        \"end\": 4707,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 164,\n                            \"column\": 37\n                          },\n                          \"end\": {\n                            \"line\": 164,\n                            \"column\": 42\n                          },\n                          \"identifierName\": \"scale\"\n                        },\n                        \"name\": \"scale\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4710,\n              \"end\": 4746,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 165,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 165,\n                  \"column\": 37\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4716,\n                  \"end\": 4745,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 165,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 165,\n                      \"column\": 36\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4716,\n                    \"end\": 4725,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 165,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 165,\n                        \"column\": 16\n                      },\n                      \"identifierName\": \"b_radius2\"\n                    },\n                    \"name\": \"b_radius2\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 4733,\n                    \"end\": 4745,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 165,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 165,\n                        \"column\": 36\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4733,\n                      \"end\": 4741,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 165,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 165,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"b_radius\"\n                      },\n                      \"name\": \"b_radius\"\n                    },\n                    \"operator\": \"*\",\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 4744,\n                      \"end\": 4745,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 165,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 165,\n                          \"column\": 36\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 2,\n                        \"raw\": \"2\"\n                      },\n                      \"value\": 2\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4748,\n              \"end\": 4791,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 166,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 166,\n                  \"column\": 44\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4754,\n                  \"end\": 4790,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 166,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 166,\n                      \"column\": 43\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4754,\n                    \"end\": 4768,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 166,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 166,\n                        \"column\": 21\n                      },\n                      \"identifierName\": \"radius_squared\"\n                    },\n                    \"name\": \"radius_squared\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 4771,\n                    \"end\": 4790,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 166,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 166,\n                        \"column\": 43\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4771,\n                      \"end\": 4779,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 166,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 166,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"b_radius\"\n                      },\n                      \"name\": \"b_radius\"\n                    },\n                    \"operator\": \"*\",\n                    \"right\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4782,\n                      \"end\": 4790,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 166,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 166,\n                          \"column\": 43\n                        },\n                        \"identifierName\": \"b_radius\"\n                      },\n                      \"name\": \"b_radius\"\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4793,\n              \"end\": 4832,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 167,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 167,\n                  \"column\": 40\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4799,\n                  \"end\": 4831,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 167,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 167,\n                      \"column\": 39\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4799,\n                    \"end\": 4804,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 167,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 167,\n                        \"column\": 12\n                      },\n                      \"identifierName\": \"count\"\n                    },\n                    \"name\": \"count\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 4816,\n                    \"end\": 4831,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 167,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 167,\n                        \"column\": 39\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4816,\n                      \"end\": 4824,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 167,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 167,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"a_coords\"\n                      },\n                      \"name\": \"a_coords\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 4825,\n                      \"end\": 4831,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 167,\n                          \"column\": 33\n                        },\n                        \"end\": {\n                          \"line\": 167,\n                          \"column\": 39\n                        },\n                        \"identifierName\": \"length\"\n                      },\n                      \"name\": \"length\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4835,\n              \"end\": 4856,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 169,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 169,\n                  \"column\": 22\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4839,\n                  \"end\": 4855,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 169,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 169,\n                      \"column\": 21\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4839,\n                    \"end\": 4845,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 169,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 169,\n                        \"column\": 11\n                      },\n                      \"identifierName\": \"a_in_b\"\n                    },\n                    \"name\": \"a_in_b\"\n                  },\n                  \"init\": {\n                    \"type\": \"BooleanLiteral\",\n                    \"start\": 4851,\n                    \"end\": 4855,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 169,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 169,\n                        \"column\": 21\n                      }\n                    },\n                    \"value\": true\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4858,\n              \"end\": 4879,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 170,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 170,\n                  \"column\": 22\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4862,\n                  \"end\": 4878,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 170,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 170,\n                      \"column\": 21\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4862,\n                    \"end\": 4868,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 170,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 170,\n                        \"column\": 11\n                      },\n                      \"identifierName\": \"b_in_a\"\n                    },\n                    \"name\": \"b_in_a\"\n                  },\n                  \"init\": {\n                    \"type\": \"BooleanLiteral\",\n                    \"start\": 4874,\n                    \"end\": 4878,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 170,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 170,\n                        \"column\": 21\n                      }\n                    },\n                    \"value\": true\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4881,\n              \"end\": 4902,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 171,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 171,\n                  \"column\": 22\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4885,\n                  \"end\": 4901,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 171,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 171,\n                      \"column\": 21\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4885,\n                    \"end\": 4892,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 171,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 171,\n                        \"column\": 12\n                      },\n                      \"identifierName\": \"overlap\"\n                    },\n                    \"name\": \"overlap\"\n                  },\n                  \"init\": {\n                    \"type\": \"NullLiteral\",\n                    \"start\": 4897,\n                    \"end\": 4901,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 171,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 171,\n                        \"column\": 21\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4904,\n              \"end\": 4922,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 172,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 172,\n                  \"column\": 19\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4908,\n                  \"end\": 4921,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 172,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 172,\n                      \"column\": 18\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4908,\n                    \"end\": 4917,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 172,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 172,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"overlap_x\"\n                    },\n                    \"name\": \"overlap_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 4920,\n                    \"end\": 4921,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 172,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 172,\n                        \"column\": 18\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 4924,\n              \"end\": 4942,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 173,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 173,\n                  \"column\": 19\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 4928,\n                  \"end\": 4941,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 173,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 173,\n                      \"column\": 18\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 4928,\n                    \"end\": 4937,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 173,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 173,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"overlap_y\"\n                    },\n                    \"name\": \"overlap_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"NumericLiteral\",\n                    \"start\": 4940,\n                    \"end\": 4941,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 173,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 173,\n                        \"column\": 18\n                      }\n                    },\n                    \"extra\": {\n                      \"rawValue\": 0,\n                      \"raw\": \"0\"\n                    },\n                    \"value\": 0\n                  }\n                }\n              ],\n              \"kind\": \"let\",\n              \"trailingComments\": [\n                {\n                  \"type\": \"CommentLine\",\n                  \"value\": \" Handle points specially\",\n                  \"start\": 4945,\n                  \"end\": 4971,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 175,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 175,\n                      \"column\": 27\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 4973,\n              \"end\": 7766,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 176,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 271,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"BinaryExpression\",\n                \"start\": 4976,\n                \"end\": 4987,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 176,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 176,\n                    \"column\": 15\n                  }\n                },\n                \"left\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 4976,\n                  \"end\": 4981,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 176,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 176,\n                      \"column\": 9\n                    },\n                    \"identifierName\": \"count\"\n                  },\n                  \"name\": \"count\",\n                  \"leadingComments\": null\n                },\n                \"operator\": \"===\",\n                \"right\": {\n                  \"type\": \"NumericLiteral\",\n                  \"start\": 4986,\n                  \"end\": 4987,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 176,\n                      \"column\": 14\n                    },\n                    \"end\": {\n                      \"line\": 176,\n                      \"column\": 15\n                    }\n                  },\n                  \"extra\": {\n                    \"rawValue\": 2,\n                    \"raw\": \"2\"\n                  },\n                  \"value\": 2\n                },\n                \"leadingComments\": null\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 4989,\n                \"end\": 5395,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 176,\n                    \"column\": 17\n                  },\n                  \"end\": {\n                    \"line\": 193,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 4993,\n                    \"end\": 5034,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 177,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 177,\n                        \"column\": 43\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 4999,\n                        \"end\": 5033,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 177,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 177,\n                            \"column\": 42\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 4999,\n                          \"end\": 5006,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 177,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 177,\n                              \"column\": 15\n                            },\n                            \"identifierName\": \"coord_x\"\n                          },\n                          \"name\": \"coord_x\"\n                        },\n                        \"init\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 5016,\n                          \"end\": 5033,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 177,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 177,\n                              \"column\": 42\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5016,\n                            \"end\": 5019,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 177,\n                                \"column\": 25\n                              },\n                              \"end\": {\n                                \"line\": 177,\n                                \"column\": 28\n                              },\n                              \"identifierName\": \"b_x\"\n                            },\n                            \"name\": \"b_x\"\n                          },\n                          \"operator\": \"-\",\n                          \"right\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5022,\n                            \"end\": 5033,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 177,\n                                \"column\": 31\n                              },\n                              \"end\": {\n                                \"line\": 177,\n                                \"column\": 42\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5022,\n                              \"end\": 5030,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 177,\n                                  \"column\": 31\n                                },\n                                \"end\": {\n                                  \"line\": 177,\n                                  \"column\": 39\n                                },\n                                \"identifierName\": \"a_coords\"\n                              },\n                              \"name\": \"a_coords\"\n                            },\n                            \"property\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 5031,\n                              \"end\": 5032,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 177,\n                                  \"column\": 40\n                                },\n                                \"end\": {\n                                  \"line\": 177,\n                                  \"column\": 41\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            },\n                            \"computed\": true\n                          }\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 5037,\n                    \"end\": 5078,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 178,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 178,\n                        \"column\": 43\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 5043,\n                        \"end\": 5077,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 178,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 178,\n                            \"column\": 42\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5043,\n                          \"end\": 5050,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 178,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 178,\n                              \"column\": 15\n                            },\n                            \"identifierName\": \"coord_y\"\n                          },\n                          \"name\": \"coord_y\"\n                        },\n                        \"init\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 5060,\n                          \"end\": 5077,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 178,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 178,\n                              \"column\": 42\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5060,\n                            \"end\": 5063,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 178,\n                                \"column\": 25\n                              },\n                              \"end\": {\n                                \"line\": 178,\n                                \"column\": 28\n                              },\n                              \"identifierName\": \"b_y\"\n                            },\n                            \"name\": \"b_y\"\n                          },\n                          \"operator\": \"-\",\n                          \"right\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 5066,\n                            \"end\": 5077,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 178,\n                                \"column\": 31\n                              },\n                              \"end\": {\n                                \"line\": 178,\n                                \"column\": 42\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5066,\n                              \"end\": 5074,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 178,\n                                  \"column\": 31\n                                },\n                                \"end\": {\n                                  \"line\": 178,\n                                  \"column\": 39\n                                },\n                                \"identifierName\": \"a_coords\"\n                              },\n                              \"name\": \"a_coords\"\n                            },\n                            \"property\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 5075,\n                              \"end\": 5076,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 178,\n                                  \"column\": 40\n                                },\n                                \"end\": {\n                                  \"line\": 178,\n                                  \"column\": 41\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 1,\n                                \"raw\": \"1\"\n                              },\n                              \"value\": 1\n                            },\n                            \"computed\": true\n                          }\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 5081,\n                    \"end\": 5142,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 179,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 179,\n                        \"column\": 63\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 5087,\n                        \"end\": 5141,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 179,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 179,\n                            \"column\": 62\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 5087,\n                          \"end\": 5101,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 179,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 179,\n                              \"column\": 22\n                            },\n                            \"identifierName\": \"length_squared\"\n                          },\n                          \"name\": \"length_squared\"\n                        },\n                        \"init\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 5104,\n                          \"end\": 5141,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 179,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 179,\n                              \"column\": 62\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 5104,\n                            \"end\": 5121,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 179,\n                                \"column\": 25\n                              },\n                              \"end\": {\n                                \"line\": 179,\n                                \"column\": 42\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5104,\n                              \"end\": 5111,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 179,\n                                  \"column\": 25\n                                },\n                                \"end\": {\n                                  \"line\": 179,\n                                  \"column\": 32\n                                },\n                                \"identifierName\": \"coord_x\"\n                              },\n                              \"name\": \"coord_x\"\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5114,\n                              \"end\": 5121,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 179,\n                                  \"column\": 35\n                                },\n                                \"end\": {\n                                  \"line\": 179,\n                                  \"column\": 42\n                                },\n                                \"identifierName\": \"coord_x\"\n                              },\n                              \"name\": \"coord_x\"\n                            }\n                          },\n                          \"operator\": \"+\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 5124,\n                            \"end\": 5141,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 179,\n                                \"column\": 45\n                              },\n                              \"end\": {\n                                \"line\": 179,\n                                \"column\": 62\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5124,\n                              \"end\": 5131,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 179,\n                                  \"column\": 45\n                                },\n                                \"end\": {\n                                  \"line\": 179,\n                                  \"column\": 52\n                                },\n                                \"identifierName\": \"coord_y\"\n                              },\n                              \"name\": \"coord_y\"\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5134,\n                              \"end\": 5141,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 179,\n                                  \"column\": 55\n                                },\n                                \"end\": {\n                                  \"line\": 179,\n                                  \"column\": 62\n                                },\n                                \"identifierName\": \"coord_y\"\n                              },\n                              \"name\": \"coord_y\"\n                            }\n                          }\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 5146,\n                    \"end\": 5204,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 181,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 183,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 5149,\n                      \"end\": 5180,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 181,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 181,\n                          \"column\": 36\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 5149,\n                        \"end\": 5163,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 181,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 181,\n                            \"column\": 19\n                          },\n                          \"identifierName\": \"length_squared\"\n                        },\n                        \"name\": \"length_squared\"\n                      },\n                      \"operator\": \">\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 5166,\n                        \"end\": 5180,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 181,\n                            \"column\": 22\n                          },\n                          \"end\": {\n                            \"line\": 181,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"radius_squared\"\n                        },\n                        \"name\": \"radius_squared\"\n                      }\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 5182,\n                      \"end\": 5204,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 181,\n                          \"column\": 38\n                        },\n                        \"end\": {\n                          \"line\": 183,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ReturnStatement\",\n                          \"start\": 5187,\n                          \"end\": 5200,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 182,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 182,\n                              \"column\": 16\n                            }\n                          },\n                          \"argument\": {\n                            \"type\": \"BooleanLiteral\",\n                            \"start\": 5194,\n                            \"end\": 5199,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 182,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 182,\n                                \"column\": 15\n                              }\n                            },\n                            \"value\": false\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 5208,\n                    \"end\": 5392,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 185,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 192,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 5211,\n                      \"end\": 5217,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 185,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 185,\n                          \"column\": 11\n                        },\n                        \"identifierName\": \"result\"\n                      },\n                      \"name\": \"result\"\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 5219,\n                      \"end\": 5392,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 185,\n                          \"column\": 13\n                        },\n                        \"end\": {\n                          \"line\": 192,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5224,\n                          \"end\": 5265,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 186,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 186,\n                              \"column\": 44\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5230,\n                              \"end\": 5264,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 186,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 186,\n                                  \"column\": 43\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5230,\n                                \"end\": 5236,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 186,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 186,\n                                    \"column\": 15\n                                  },\n                                  \"identifierName\": \"length\"\n                                },\n                                \"name\": \"length\"\n                              },\n                              \"init\": {\n                                \"type\": \"CallExpression\",\n                                \"start\": 5239,\n                                \"end\": 5264,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 186,\n                                    \"column\": 18\n                                  },\n                                  \"end\": {\n                                    \"line\": 186,\n                                    \"column\": 43\n                                  }\n                                },\n                                \"callee\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 5239,\n                                  \"end\": 5248,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 186,\n                                      \"column\": 18\n                                    },\n                                    \"end\": {\n                                      \"line\": 186,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5239,\n                                    \"end\": 5243,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 186,\n                                        \"column\": 18\n                                      },\n                                      \"end\": {\n                                        \"line\": 186,\n                                        \"column\": 22\n                                      },\n                                      \"identifierName\": \"Math\"\n                                    },\n                                    \"name\": \"Math\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5244,\n                                    \"end\": 5248,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 186,\n                                        \"column\": 23\n                                      },\n                                      \"end\": {\n                                        \"line\": 186,\n                                        \"column\": 27\n                                      },\n                                      \"identifierName\": \"sqrt\"\n                                    },\n                                    \"name\": \"sqrt\"\n                                  },\n                                  \"computed\": false\n                                },\n                                \"arguments\": [\n                                  {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5249,\n                                    \"end\": 5263,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 186,\n                                        \"column\": 28\n                                      },\n                                      \"end\": {\n                                        \"line\": 186,\n                                        \"column\": 42\n                                      },\n                                      \"identifierName\": \"length_squared\"\n                                    },\n                                    \"name\": \"length_squared\"\n                                  }\n                                ]\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 5270,\n                          \"end\": 5300,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 188,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 188,\n                              \"column\": 33\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 5270,\n                            \"end\": 5299,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 188,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 188,\n                                \"column\": 32\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5270,\n                              \"end\": 5277,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 188,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 188,\n                                  \"column\": 10\n                                },\n                                \"identifierName\": \"overlap\"\n                              },\n                              \"name\": \"overlap\"\n                            },\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 5282,\n                              \"end\": 5299,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 188,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 188,\n                                  \"column\": 32\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5282,\n                                \"end\": 5290,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 188,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 188,\n                                    \"column\": 23\n                                  },\n                                  \"identifierName\": \"b_radius\"\n                                },\n                                \"name\": \"b_radius\"\n                              },\n                              \"operator\": \"-\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5293,\n                                \"end\": 5299,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 188,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 188,\n                                    \"column\": 32\n                                  },\n                                  \"identifierName\": \"length\"\n                                },\n                                \"name\": \"length\"\n                              }\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 5304,\n                          \"end\": 5333,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 189,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 189,\n                              \"column\": 32\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 5304,\n                            \"end\": 5332,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 189,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 189,\n                                \"column\": 31\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5304,\n                              \"end\": 5313,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 189,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 189,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"overlap_x\"\n                              },\n                              \"name\": \"overlap_x\"\n                            },\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 5316,\n                              \"end\": 5332,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 189,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 189,\n                                  \"column\": 31\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5316,\n                                \"end\": 5323,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 189,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 189,\n                                    \"column\": 22\n                                  },\n                                  \"identifierName\": \"coord_x\"\n                                },\n                                \"name\": \"coord_x\"\n                              },\n                              \"operator\": \"/\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5326,\n                                \"end\": 5332,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 189,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 189,\n                                    \"column\": 31\n                                  },\n                                  \"identifierName\": \"length\"\n                                },\n                                \"name\": \"length\"\n                              }\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 5337,\n                          \"end\": 5366,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 190,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 190,\n                              \"column\": 32\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 5337,\n                            \"end\": 5365,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 190,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 190,\n                                \"column\": 31\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5337,\n                              \"end\": 5346,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 190,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 190,\n                                  \"column\": 12\n                                },\n                                \"identifierName\": \"overlap_y\"\n                              },\n                              \"name\": \"overlap_y\"\n                            },\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 5349,\n                              \"end\": 5365,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 190,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 190,\n                                  \"column\": 31\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5349,\n                                \"end\": 5356,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 190,\n                                    \"column\": 15\n                                  },\n                                  \"end\": {\n                                    \"line\": 190,\n                                    \"column\": 22\n                                  },\n                                  \"identifierName\": \"coord_y\"\n                                },\n                                \"name\": \"coord_y\"\n                              },\n                              \"operator\": \"/\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5359,\n                                \"end\": 5365,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 190,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 190,\n                                    \"column\": 31\n                                  },\n                                  \"identifierName\": \"length\"\n                                },\n                                \"name\": \"length\"\n                              }\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 5370,\n                          \"end\": 5388,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 191,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 191,\n                              \"column\": 21\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 5370,\n                            \"end\": 5387,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 191,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 191,\n                                \"column\": 20\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 5370,\n                              \"end\": 5376,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 191,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 191,\n                                  \"column\": 9\n                                },\n                                \"identifierName\": \"b_in_a\"\n                              },\n                              \"name\": \"b_in_a\"\n                            },\n                            \"right\": {\n                              \"type\": \"BooleanLiteral\",\n                              \"start\": 5382,\n                              \"end\": 5387,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 191,\n                                  \"column\": 15\n                                },\n                                \"end\": {\n                                  \"line\": 191,\n                                  \"column\": 20\n                                }\n                              },\n                              \"value\": false\n                            }\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 5402,\n                \"end\": 7766,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 194,\n                    \"column\": 6\n                  },\n                  \"end\": {\n                    \"line\": 271,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ForStatement\",\n                    \"start\": 5406,\n                    \"end\": 7763,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 195,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 270,\n                        \"column\": 3\n                      }\n                    },\n                    \"init\": {\n                      \"type\": \"VariableDeclaration\",\n                      \"start\": 5410,\n                      \"end\": 5428,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 195,\n                          \"column\": 6\n                        },\n                        \"end\": {\n                          \"line\": 195,\n                          \"column\": 24\n                        }\n                      },\n                      \"declarations\": [\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5414,\n                          \"end\": 5420,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 195,\n                              \"column\": 10\n                            },\n                            \"end\": {\n                              \"line\": 195,\n                              \"column\": 16\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5414,\n                            \"end\": 5416,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 10\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"ix\"\n                            },\n                            \"name\": \"ix\"\n                          },\n                          \"init\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 5419,\n                            \"end\": 5420,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 15\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 16\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 0,\n                              \"raw\": \"0\"\n                            },\n                            \"value\": 0\n                          }\n                        },\n                        {\n                          \"type\": \"VariableDeclarator\",\n                          \"start\": 5422,\n                          \"end\": 5428,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 195,\n                              \"column\": 18\n                            },\n                            \"end\": {\n                              \"line\": 195,\n                              \"column\": 24\n                            }\n                          },\n                          \"id\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5422,\n                            \"end\": 5424,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 18\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 20\n                              },\n                              \"identifierName\": \"iy\"\n                            },\n                            \"name\": \"iy\"\n                          },\n                          \"init\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 5427,\n                            \"end\": 5428,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 23\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 24\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 1,\n                              \"raw\": \"1\"\n                            },\n                            \"value\": 1\n                          }\n                        }\n                      ],\n                      \"kind\": \"let\"\n                    },\n                    \"test\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 5430,\n                      \"end\": 5440,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 195,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 195,\n                          \"column\": 36\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 5430,\n                        \"end\": 5432,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 195,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 195,\n                            \"column\": 28\n                          },\n                          \"identifierName\": \"ix\"\n                        },\n                        \"name\": \"ix\"\n                      },\n                      \"operator\": \"<\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 5435,\n                        \"end\": 5440,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 195,\n                            \"column\": 31\n                          },\n                          \"end\": {\n                            \"line\": 195,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"count\"\n                        },\n                        \"name\": \"count\"\n                      }\n                    },\n                    \"update\": {\n                      \"type\": \"SequenceExpression\",\n                      \"start\": 5442,\n                      \"end\": 5458,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 195,\n                          \"column\": 38\n                        },\n                        \"end\": {\n                          \"line\": 195,\n                          \"column\": 54\n                        }\n                      },\n                      \"expressions\": [\n                        {\n                          \"type\": \"AssignmentExpression\",\n                          \"start\": 5442,\n                          \"end\": 5449,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 195,\n                              \"column\": 38\n                            },\n                            \"end\": {\n                              \"line\": 195,\n                              \"column\": 45\n                            }\n                          },\n                          \"operator\": \"+=\",\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5442,\n                            \"end\": 5444,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 38\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 40\n                              },\n                              \"identifierName\": \"ix\"\n                            },\n                            \"name\": \"ix\"\n                          },\n                          \"right\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 5448,\n                            \"end\": 5449,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 44\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 45\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 2,\n                              \"raw\": \"2\"\n                            },\n                            \"value\": 2\n                          }\n                        },\n                        {\n                          \"type\": \"AssignmentExpression\",\n                          \"start\": 5451,\n                          \"end\": 5458,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 195,\n                              \"column\": 47\n                            },\n                            \"end\": {\n                              \"line\": 195,\n                              \"column\": 54\n                            }\n                          },\n                          \"operator\": \"+=\",\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5451,\n                            \"end\": 5453,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 47\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 49\n                              },\n                              \"identifierName\": \"iy\"\n                            },\n                            \"name\": \"iy\"\n                          },\n                          \"right\": {\n                            \"type\": \"NumericLiteral\",\n                            \"start\": 5457,\n                            \"end\": 5458,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 195,\n                                \"column\": 53\n                              },\n                              \"end\": {\n                                \"line\": 195,\n                                \"column\": 54\n                              }\n                            },\n                            \"extra\": {\n                              \"rawValue\": 2,\n                              \"raw\": \"2\"\n                            },\n                            \"value\": 2\n                          }\n                        }\n                      ]\n                    },\n                    \"body\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 5460,\n                      \"end\": 7763,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 195,\n                          \"column\": 56\n                        },\n                        \"end\": {\n                          \"line\": 270,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5465,\n                          \"end\": 5500,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 196,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 196,\n                              \"column\": 38\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5471,\n                              \"end\": 5499,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 196,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 196,\n                                  \"column\": 37\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5471,\n                                \"end\": 5478,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 196,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 196,\n                                    \"column\": 16\n                                  },\n                                  \"identifierName\": \"coord_x\"\n                                },\n                                \"name\": \"coord_x\"\n                              },\n                              \"init\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 5481,\n                                \"end\": 5499,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 196,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 196,\n                                    \"column\": 37\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5481,\n                                  \"end\": 5484,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 196,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 196,\n                                      \"column\": 22\n                                    },\n                                    \"identifierName\": \"b_x\"\n                                  },\n                                  \"name\": \"b_x\"\n                                },\n                                \"operator\": \"-\",\n                                \"right\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 5487,\n                                  \"end\": 5499,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 196,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 196,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5487,\n                                    \"end\": 5495,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 196,\n                                        \"column\": 25\n                                      },\n                                      \"end\": {\n                                        \"line\": 196,\n                                        \"column\": 33\n                                      },\n                                      \"identifierName\": \"a_coords\"\n                                    },\n                                    \"name\": \"a_coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5496,\n                                    \"end\": 5498,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 196,\n                                        \"column\": 34\n                                      },\n                                      \"end\": {\n                                        \"line\": 196,\n                                        \"column\": 36\n                                      },\n                                      \"identifierName\": \"ix\"\n                                    },\n                                    \"name\": \"ix\"\n                                  },\n                                  \"computed\": true\n                                }\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5504,\n                          \"end\": 5539,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 197,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 197,\n                              \"column\": 38\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5510,\n                              \"end\": 5538,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 197,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 197,\n                                  \"column\": 37\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5510,\n                                \"end\": 5517,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 197,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 197,\n                                    \"column\": 16\n                                  },\n                                  \"identifierName\": \"coord_y\"\n                                },\n                                \"name\": \"coord_y\"\n                              },\n                              \"init\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 5520,\n                                \"end\": 5538,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 197,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 197,\n                                    \"column\": 37\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5520,\n                                  \"end\": 5523,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 197,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 197,\n                                      \"column\": 22\n                                    },\n                                    \"identifierName\": \"b_y\"\n                                  },\n                                  \"name\": \"b_y\"\n                                },\n                                \"operator\": \"-\",\n                                \"right\": {\n                                  \"type\": \"MemberExpression\",\n                                  \"start\": 5526,\n                                  \"end\": 5538,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 197,\n                                      \"column\": 25\n                                    },\n                                    \"end\": {\n                                      \"line\": 197,\n                                      \"column\": 37\n                                    }\n                                  },\n                                  \"object\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5526,\n                                    \"end\": 5534,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 197,\n                                        \"column\": 25\n                                      },\n                                      \"end\": {\n                                        \"line\": 197,\n                                        \"column\": 33\n                                      },\n                                      \"identifierName\": \"a_coords\"\n                                    },\n                                    \"name\": \"a_coords\"\n                                  },\n                                  \"property\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5535,\n                                    \"end\": 5537,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 197,\n                                        \"column\": 34\n                                      },\n                                      \"end\": {\n                                        \"line\": 197,\n                                        \"column\": 36\n                                      },\n                                      \"identifierName\": \"iy\"\n                                    },\n                                    \"name\": \"iy\"\n                                  },\n                                  \"computed\": true\n                                }\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5543,\n                          \"end\": 5571,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 198,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 198,\n                              \"column\": 31\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5549,\n                              \"end\": 5570,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 198,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 198,\n                                  \"column\": 30\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5549,\n                                \"end\": 5555,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 198,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 198,\n                                    \"column\": 15\n                                  },\n                                  \"identifierName\": \"edge_x\"\n                                },\n                                \"name\": \"edge_x\"\n                              },\n                              \"init\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5559,\n                                \"end\": 5570,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 198,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 198,\n                                    \"column\": 30\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5559,\n                                  \"end\": 5566,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 198,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 198,\n                                      \"column\": 26\n                                    },\n                                    \"identifierName\": \"a_edges\"\n                                  },\n                                  \"name\": \"a_edges\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5567,\n                                  \"end\": 5569,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 198,\n                                      \"column\": 27\n                                    },\n                                    \"end\": {\n                                      \"line\": 198,\n                                      \"column\": 29\n                                    },\n                                    \"identifierName\": \"ix\"\n                                  },\n                                  \"name\": \"ix\"\n                                },\n                                \"computed\": true\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5575,\n                          \"end\": 5603,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 199,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 199,\n                              \"column\": 31\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5581,\n                              \"end\": 5602,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 199,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 199,\n                                  \"column\": 30\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5581,\n                                \"end\": 5587,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 199,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 199,\n                                    \"column\": 15\n                                  },\n                                  \"identifierName\": \"edge_y\"\n                                },\n                                \"name\": \"edge_y\"\n                              },\n                              \"init\": {\n                                \"type\": \"MemberExpression\",\n                                \"start\": 5591,\n                                \"end\": 5602,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 199,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 199,\n                                    \"column\": 30\n                                  }\n                                },\n                                \"object\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5591,\n                                  \"end\": 5598,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 199,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 199,\n                                      \"column\": 26\n                                    },\n                                    \"identifierName\": \"a_edges\"\n                                  },\n                                  \"name\": \"a_edges\"\n                                },\n                                \"property\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 5599,\n                                  \"end\": 5601,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 199,\n                                      \"column\": 27\n                                    },\n                                    \"end\": {\n                                      \"line\": 199,\n                                      \"column\": 29\n                                    },\n                                    \"identifierName\": \"iy\"\n                                  },\n                                  \"name\": \"iy\"\n                                },\n                                \"computed\": true\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5607,\n                          \"end\": 5659,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 200,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 200,\n                              \"column\": 55\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5613,\n                              \"end\": 5658,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 200,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 200,\n                                  \"column\": 54\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5613,\n                                \"end\": 5616,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 200,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 200,\n                                    \"column\": 12\n                                  },\n                                  \"identifierName\": \"dot\"\n                                },\n                                \"name\": \"dot\"\n                              },\n                              \"init\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 5623,\n                                \"end\": 5658,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 200,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 200,\n                                    \"column\": 54\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5623,\n                                  \"end\": 5639,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 200,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 200,\n                                      \"column\": 35\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5623,\n                                    \"end\": 5630,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 200,\n                                        \"column\": 19\n                                      },\n                                      \"end\": {\n                                        \"line\": 200,\n                                        \"column\": 26\n                                      },\n                                      \"identifierName\": \"coord_x\"\n                                    },\n                                    \"name\": \"coord_x\"\n                                  },\n                                  \"operator\": \"*\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5633,\n                                    \"end\": 5639,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 200,\n                                        \"column\": 29\n                                      },\n                                      \"end\": {\n                                        \"line\": 200,\n                                        \"column\": 35\n                                      },\n                                      \"identifierName\": \"edge_x\"\n                                    },\n                                    \"name\": \"edge_x\"\n                                  }\n                                },\n                                \"operator\": \"+\",\n                                \"right\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5642,\n                                  \"end\": 5658,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 200,\n                                      \"column\": 38\n                                    },\n                                    \"end\": {\n                                      \"line\": 200,\n                                      \"column\": 54\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5642,\n                                    \"end\": 5649,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 200,\n                                        \"column\": 38\n                                      },\n                                      \"end\": {\n                                        \"line\": 200,\n                                        \"column\": 45\n                                      },\n                                      \"identifierName\": \"coord_y\"\n                                    },\n                                    \"name\": \"coord_y\"\n                                  },\n                                  \"operator\": \"*\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5652,\n                                    \"end\": 5658,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 200,\n                                        \"column\": 48\n                                      },\n                                      \"end\": {\n                                        \"line\": 200,\n                                        \"column\": 54\n                                      },\n                                      \"identifierName\": \"edge_y\"\n                                    },\n                                    \"name\": \"edge_y\"\n                                  }\n                                }\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5663,\n                          \"end\": 5742,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 201,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 201,\n                              \"column\": 82\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5669,\n                              \"end\": 5741,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 201,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 201,\n                                  \"column\": 81\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5669,\n                                \"end\": 5675,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 201,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 201,\n                                    \"column\": 15\n                                  },\n                                  \"identifierName\": \"region\"\n                                },\n                                \"name\": \"region\"\n                              },\n                              \"init\": {\n                                \"type\": \"ConditionalExpression\",\n                                \"start\": 5679,\n                                \"end\": 5741,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 201,\n                                    \"column\": 19\n                                  },\n                                  \"end\": {\n                                    \"line\": 201,\n                                    \"column\": 81\n                                  }\n                                },\n                                \"test\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5679,\n                                  \"end\": 5686,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 201,\n                                      \"column\": 19\n                                    },\n                                    \"end\": {\n                                      \"line\": 201,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5679,\n                                    \"end\": 5682,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 201,\n                                        \"column\": 19\n                                      },\n                                      \"end\": {\n                                        \"line\": 201,\n                                        \"column\": 22\n                                      },\n                                      \"identifierName\": \"dot\"\n                                    },\n                                    \"name\": \"dot\"\n                                  },\n                                  \"operator\": \"<\",\n                                  \"right\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 5685,\n                                    \"end\": 5686,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 201,\n                                        \"column\": 25\n                                      },\n                                      \"end\": {\n                                        \"line\": 201,\n                                        \"column\": 26\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  }\n                                },\n                                \"consequent\": {\n                                  \"type\": \"UnaryExpression\",\n                                  \"start\": 5689,\n                                  \"end\": 5691,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 201,\n                                      \"column\": 29\n                                    },\n                                    \"end\": {\n                                      \"line\": 201,\n                                      \"column\": 31\n                                    }\n                                  },\n                                  \"operator\": \"-\",\n                                  \"prefix\": true,\n                                  \"argument\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 5690,\n                                    \"end\": 5691,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 201,\n                                        \"column\": 30\n                                      },\n                                      \"end\": {\n                                        \"line\": 201,\n                                        \"column\": 31\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 1,\n                                      \"raw\": \"1\"\n                                    },\n                                    \"value\": 1\n                                  },\n                                  \"extra\": {\n                                    \"parenthesizedArgument\": false\n                                  }\n                                },\n                                \"alternate\": {\n                                  \"type\": \"ConditionalExpression\",\n                                  \"start\": 5694,\n                                  \"end\": 5741,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 201,\n                                      \"column\": 34\n                                    },\n                                    \"end\": {\n                                      \"line\": 201,\n                                      \"column\": 81\n                                    }\n                                  },\n                                  \"test\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 5694,\n                                    \"end\": 5733,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 201,\n                                        \"column\": 34\n                                      },\n                                      \"end\": {\n                                        \"line\": 201,\n                                        \"column\": 73\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5694,\n                                      \"end\": 5697,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 201,\n                                          \"column\": 34\n                                        },\n                                        \"end\": {\n                                          \"line\": 201,\n                                          \"column\": 37\n                                        },\n                                        \"identifierName\": \"dot\"\n                                      },\n                                      \"name\": \"dot\"\n                                    },\n                                    \"operator\": \">\",\n                                    \"right\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 5700,\n                                      \"end\": 5733,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 201,\n                                          \"column\": 40\n                                        },\n                                        \"end\": {\n                                          \"line\": 201,\n                                          \"column\": 73\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 5700,\n                                        \"end\": 5715,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 201,\n                                            \"column\": 40\n                                          },\n                                          \"end\": {\n                                            \"line\": 201,\n                                            \"column\": 55\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 5700,\n                                          \"end\": 5706,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 201,\n                                              \"column\": 40\n                                            },\n                                            \"end\": {\n                                              \"line\": 201,\n                                              \"column\": 46\n                                            },\n                                            \"identifierName\": \"edge_x\"\n                                          },\n                                          \"name\": \"edge_x\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 5709,\n                                          \"end\": 5715,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 201,\n                                              \"column\": 49\n                                            },\n                                            \"end\": {\n                                              \"line\": 201,\n                                              \"column\": 55\n                                            },\n                                            \"identifierName\": \"edge_x\"\n                                          },\n                                          \"name\": \"edge_x\"\n                                        }\n                                      },\n                                      \"operator\": \"+\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 5718,\n                                        \"end\": 5733,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 201,\n                                            \"column\": 58\n                                          },\n                                          \"end\": {\n                                            \"line\": 201,\n                                            \"column\": 73\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 5718,\n                                          \"end\": 5724,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 201,\n                                              \"column\": 58\n                                            },\n                                            \"end\": {\n                                              \"line\": 201,\n                                              \"column\": 64\n                                            },\n                                            \"identifierName\": \"edge_y\"\n                                          },\n                                          \"name\": \"edge_y\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 5727,\n                                          \"end\": 5733,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 201,\n                                              \"column\": 67\n                                            },\n                                            \"end\": {\n                                              \"line\": 201,\n                                              \"column\": 73\n                                            },\n                                            \"identifierName\": \"edge_y\"\n                                          },\n                                          \"name\": \"edge_y\"\n                                        }\n                                      }\n                                    }\n                                  },\n                                  \"consequent\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 5736,\n                                    \"end\": 5737,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 201,\n                                        \"column\": 76\n                                      },\n                                      \"end\": {\n                                        \"line\": 201,\n                                        \"column\": 77\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 1,\n                                      \"raw\": \"1\"\n                                    },\n                                    \"value\": 1\n                                  },\n                                  \"alternate\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 5740,\n                                    \"end\": 5741,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 201,\n                                        \"column\": 80\n                                      },\n                                      \"end\": {\n                                        \"line\": 201,\n                                        \"column\": 81\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  }\n                                }\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5747,\n                          \"end\": 5775,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 203,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 203,\n                              \"column\": 31\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5751,\n                              \"end\": 5774,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 203,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 203,\n                                  \"column\": 30\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5751,\n                                \"end\": 5766,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 203,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 203,\n                                    \"column\": 22\n                                  },\n                                  \"identifierName\": \"tmp_overlapping\"\n                                },\n                                \"name\": \"tmp_overlapping\"\n                              },\n                              \"init\": {\n                                \"type\": \"BooleanLiteral\",\n                                \"start\": 5769,\n                                \"end\": 5774,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 203,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 203,\n                                    \"column\": 30\n                                  }\n                                },\n                                \"value\": false\n                              }\n                            }\n                          ],\n                          \"kind\": \"let\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5779,\n                          \"end\": 5803,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 204,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 204,\n                              \"column\": 27\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5783,\n                              \"end\": 5802,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 204,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 204,\n                                  \"column\": 26\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5783,\n                                \"end\": 5794,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 204,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 204,\n                                    \"column\": 18\n                                  },\n                                  \"identifierName\": \"tmp_overlap\"\n                                },\n                                \"name\": \"tmp_overlap\"\n                              },\n                              \"init\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 5801,\n                                \"end\": 5802,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 204,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 204,\n                                    \"column\": 26\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 0,\n                                  \"raw\": \"0\"\n                                },\n                                \"value\": 0\n                              }\n                            }\n                          ],\n                          \"kind\": \"let\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5807,\n                          \"end\": 5831,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 205,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 205,\n                              \"column\": 27\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5811,\n                              \"end\": 5830,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 205,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 205,\n                                  \"column\": 26\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5811,\n                                \"end\": 5824,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 205,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 205,\n                                    \"column\": 20\n                                  },\n                                  \"identifierName\": \"tmp_overlap_x\"\n                                },\n                                \"name\": \"tmp_overlap_x\"\n                              },\n                              \"init\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 5829,\n                                \"end\": 5830,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 205,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 205,\n                                    \"column\": 26\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 0,\n                                  \"raw\": \"0\"\n                                },\n                                \"value\": 0\n                              }\n                            }\n                          ],\n                          \"kind\": \"let\"\n                        },\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 5835,\n                          \"end\": 5859,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 206,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 206,\n                              \"column\": 27\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 5839,\n                              \"end\": 5858,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 206,\n                                  \"column\": 7\n                                },\n                                \"end\": {\n                                  \"line\": 206,\n                                  \"column\": 26\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5839,\n                                \"end\": 5852,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 206,\n                                    \"column\": 7\n                                  },\n                                  \"end\": {\n                                    \"line\": 206,\n                                    \"column\": 20\n                                  },\n                                  \"identifierName\": \"tmp_overlap_y\"\n                                },\n                                \"name\": \"tmp_overlap_y\"\n                              },\n                              \"init\": {\n                                \"type\": \"NumericLiteral\",\n                                \"start\": 5857,\n                                \"end\": 5858,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 206,\n                                    \"column\": 25\n                                  },\n                                  \"end\": {\n                                    \"line\": 206,\n                                    \"column\": 26\n                                  }\n                                },\n                                \"extra\": {\n                                  \"rawValue\": 0,\n                                  \"raw\": \"0\"\n                                },\n                                \"value\": 0\n                              }\n                            }\n                          ],\n                          \"kind\": \"let\"\n                        },\n                        {\n                          \"type\": \"IfStatement\",\n                          \"start\": 5864,\n                          \"end\": 5969,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 208,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 210,\n                              \"column\": 4\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"LogicalExpression\",\n                            \"start\": 5867,\n                            \"end\": 5941,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 208,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 208,\n                                \"column\": 80\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 5867,\n                              \"end\": 5883,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 208,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 208,\n                                  \"column\": 22\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5867,\n                                \"end\": 5873,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 208,\n                                    \"column\": 6\n                                  },\n                                  \"end\": {\n                                    \"line\": 208,\n                                    \"column\": 12\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              },\n                              \"operator\": \"&&\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5877,\n                                \"end\": 5883,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 208,\n                                    \"column\": 16\n                                  },\n                                  \"end\": {\n                                    \"line\": 208,\n                                    \"column\": 22\n                                  },\n                                  \"identifierName\": \"a_in_b\"\n                                },\n                                \"name\": \"a_in_b\"\n                              }\n                            },\n                            \"operator\": \"&&\",\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 5887,\n                              \"end\": 5941,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 208,\n                                  \"column\": 26\n                                },\n                                \"end\": {\n                                  \"line\": 208,\n                                  \"column\": 80\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 5887,\n                                \"end\": 5924,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 208,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 208,\n                                    \"column\": 63\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5887,\n                                  \"end\": 5904,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 208,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 208,\n                                      \"column\": 43\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5887,\n                                    \"end\": 5894,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 208,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 208,\n                                        \"column\": 33\n                                      },\n                                      \"identifierName\": \"coord_x\"\n                                    },\n                                    \"name\": \"coord_x\"\n                                  },\n                                  \"operator\": \"*\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5897,\n                                    \"end\": 5904,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 208,\n                                        \"column\": 36\n                                      },\n                                      \"end\": {\n                                        \"line\": 208,\n                                        \"column\": 43\n                                      },\n                                      \"identifierName\": \"coord_x\"\n                                    },\n                                    \"name\": \"coord_x\"\n                                  }\n                                },\n                                \"operator\": \"+\",\n                                \"right\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 5907,\n                                  \"end\": 5924,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 208,\n                                      \"column\": 46\n                                    },\n                                    \"end\": {\n                                      \"line\": 208,\n                                      \"column\": 63\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5907,\n                                    \"end\": 5914,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 208,\n                                        \"column\": 46\n                                      },\n                                      \"end\": {\n                                        \"line\": 208,\n                                        \"column\": 53\n                                      },\n                                      \"identifierName\": \"coord_y\"\n                                    },\n                                    \"name\": \"coord_y\"\n                                  },\n                                  \"operator\": \"*\",\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5917,\n                                    \"end\": 5924,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 208,\n                                        \"column\": 56\n                                      },\n                                      \"end\": {\n                                        \"line\": 208,\n                                        \"column\": 63\n                                      },\n                                      \"identifierName\": \"coord_y\"\n                                    },\n                                    \"name\": \"coord_y\"\n                                  }\n                                }\n                              },\n                              \"operator\": \">\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 5927,\n                                \"end\": 5941,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 208,\n                                    \"column\": 66\n                                  },\n                                  \"end\": {\n                                    \"line\": 208,\n                                    \"column\": 80\n                                  },\n                                  \"identifierName\": \"radius_squared\"\n                                },\n                                \"name\": \"radius_squared\"\n                              }\n                            }\n                          },\n                          \"consequent\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 5943,\n                            \"end\": 5969,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 208,\n                                \"column\": 82\n                              },\n                              \"end\": {\n                                \"line\": 210,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 5949,\n                                \"end\": 5964,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 209,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 209,\n                                    \"column\": 19\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 5949,\n                                  \"end\": 5963,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 209,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 209,\n                                      \"column\": 18\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 5949,\n                                    \"end\": 5955,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 209,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 209,\n                                        \"column\": 10\n                                      },\n                                      \"identifierName\": \"a_in_b\"\n                                    },\n                                    \"name\": \"a_in_b\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"BooleanLiteral\",\n                                    \"start\": 5958,\n                                    \"end\": 5963,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 209,\n                                        \"column\": 13\n                                      },\n                                      \"end\": {\n                                        \"line\": 209,\n                                        \"column\": 18\n                                      }\n                                    },\n                                    \"value\": false\n                                  }\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          },\n                          \"alternate\": null\n                        },\n                        {\n                          \"type\": \"IfStatement\",\n                          \"start\": 5974,\n                          \"end\": 7590,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 212,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 263,\n                              \"column\": 4\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 5977,\n                            \"end\": 5983,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 212,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 212,\n                                \"column\": 12\n                              },\n                              \"identifierName\": \"region\"\n                            },\n                            \"name\": \"region\"\n                          },\n                          \"consequent\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 5985,\n                            \"end\": 7033,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 212,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 242,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 5991,\n                                \"end\": 6022,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 213,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 213,\n                                    \"column\": 35\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 5997,\n                                    \"end\": 6021,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 213,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 213,\n                                        \"column\": 34\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 5997,\n                                      \"end\": 6001,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 213,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 213,\n                                          \"column\": 14\n                                        },\n                                        \"identifierName\": \"left\"\n                                      },\n                                      \"name\": \"left\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 6008,\n                                      \"end\": 6021,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 213,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 213,\n                                          \"column\": 34\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6008,\n                                        \"end\": 6014,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 213,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 213,\n                                            \"column\": 27\n                                          },\n                                          \"identifierName\": \"region\"\n                                        },\n                                        \"name\": \"region\"\n                                      },\n                                      \"operator\": \"===\",\n                                      \"right\": {\n                                        \"type\": \"UnaryExpression\",\n                                        \"start\": 6019,\n                                        \"end\": 6021,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 213,\n                                            \"column\": 32\n                                          },\n                                          \"end\": {\n                                            \"line\": 213,\n                                            \"column\": 34\n                                          }\n                                        },\n                                        \"operator\": \"-\",\n                                        \"prefix\": true,\n                                        \"argument\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 6020,\n                                          \"end\": 6021,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 213,\n                                              \"column\": 33\n                                            },\n                                            \"end\": {\n                                              \"line\": 213,\n                                              \"column\": 34\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 1,\n                                            \"raw\": \"1\"\n                                          },\n                                          \"value\": 1\n                                        },\n                                        \"extra\": {\n                                          \"parenthesizedArgument\": false\n                                        }\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6027,\n                                \"end\": 6117,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 214,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 214,\n                                    \"column\": 94\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6033,\n                                    \"end\": 6116,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 214,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 214,\n                                        \"column\": 93\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6033,\n                                      \"end\": 6040,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 214,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 214,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"other_x\"\n                                      },\n                                      \"name\": \"other_x\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"ConditionalExpression\",\n                                      \"start\": 6044,\n                                      \"end\": 6116,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 214,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 214,\n                                          \"column\": 93\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6044,\n                                        \"end\": 6048,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 214,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 214,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"left\"\n                                        },\n                                        \"name\": \"left\"\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 6052,\n                                        \"end\": 6081,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 214,\n                                            \"column\": 29\n                                          },\n                                          \"end\": {\n                                            \"line\": 214,\n                                            \"column\": 58\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 6052,\n                                          \"end\": 6060,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 214,\n                                              \"column\": 29\n                                            },\n                                            \"end\": {\n                                              \"line\": 214,\n                                              \"column\": 37\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6052,\n                                            \"end\": 6054,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 29\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 31\n                                              },\n                                              \"identifierName\": \"ix\"\n                                            },\n                                            \"name\": \"ix\"\n                                          },\n                                          \"operator\": \"===\",\n                                          \"right\": {\n                                            \"type\": \"NumericLiteral\",\n                                            \"start\": 6059,\n                                            \"end\": 6060,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 36\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 37\n                                              }\n                                            },\n                                            \"extra\": {\n                                              \"rawValue\": 0,\n                                              \"raw\": \"0\"\n                                            },\n                                            \"value\": 0\n                                          }\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 6063,\n                                          \"end\": 6072,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 214,\n                                              \"column\": 40\n                                            },\n                                            \"end\": {\n                                              \"line\": 214,\n                                              \"column\": 49\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6063,\n                                            \"end\": 6068,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 40\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 45\n                                              },\n                                              \"identifierName\": \"count\"\n                                            },\n                                            \"name\": \"count\"\n                                          },\n                                          \"operator\": \"-\",\n                                          \"right\": {\n                                            \"type\": \"NumericLiteral\",\n                                            \"start\": 6071,\n                                            \"end\": 6072,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 48\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 49\n                                              }\n                                            },\n                                            \"extra\": {\n                                              \"rawValue\": 2,\n                                              \"raw\": \"2\"\n                                            },\n                                            \"value\": 2\n                                          }\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 6075,\n                                          \"end\": 6081,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 214,\n                                              \"column\": 52\n                                            },\n                                            \"end\": {\n                                              \"line\": 214,\n                                              \"column\": 58\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6075,\n                                            \"end\": 6077,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 52\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 54\n                                              },\n                                              \"identifierName\": \"ix\"\n                                            },\n                                            \"name\": \"ix\"\n                                          },\n                                          \"operator\": \"-\",\n                                          \"right\": {\n                                            \"type\": \"NumericLiteral\",\n                                            \"start\": 6080,\n                                            \"end\": 6081,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 57\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 58\n                                              }\n                                            },\n                                            \"extra\": {\n                                              \"rawValue\": 2,\n                                              \"raw\": \"2\"\n                                            },\n                                            \"value\": 2\n                                          }\n                                        },\n                                        \"extra\": {\n                                          \"parenthesized\": true,\n                                          \"parenStart\": 6051\n                                        }\n                                      },\n                                      \"alternate\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 6086,\n                                        \"end\": 6115,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 214,\n                                            \"column\": 63\n                                          },\n                                          \"end\": {\n                                            \"line\": 214,\n                                            \"column\": 92\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 6086,\n                                          \"end\": 6102,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 214,\n                                              \"column\": 63\n                                            },\n                                            \"end\": {\n                                              \"line\": 214,\n                                              \"column\": 79\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6086,\n                                            \"end\": 6088,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 63\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 65\n                                              },\n                                              \"identifierName\": \"ix\"\n                                            },\n                                            \"name\": \"ix\"\n                                          },\n                                          \"operator\": \"===\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 6093,\n                                            \"end\": 6102,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 70\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 79\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 6093,\n                                              \"end\": 6098,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 214,\n                                                  \"column\": 70\n                                                },\n                                                \"end\": {\n                                                  \"line\": 214,\n                                                  \"column\": 75\n                                                },\n                                                \"identifierName\": \"count\"\n                                              },\n                                              \"name\": \"count\"\n                                            },\n                                            \"operator\": \"-\",\n                                            \"right\": {\n                                              \"type\": \"NumericLiteral\",\n                                              \"start\": 6101,\n                                              \"end\": 6102,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 214,\n                                                  \"column\": 78\n                                                },\n                                                \"end\": {\n                                                  \"line\": 214,\n                                                  \"column\": 79\n                                                }\n                                              },\n                                              \"extra\": {\n                                                \"rawValue\": 2,\n                                                \"raw\": \"2\"\n                                              },\n                                              \"value\": 2\n                                            }\n                                          }\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 6105,\n                                          \"end\": 6106,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 214,\n                                              \"column\": 82\n                                            },\n                                            \"end\": {\n                                              \"line\": 214,\n                                              \"column\": 83\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 0,\n                                            \"raw\": \"0\"\n                                          },\n                                          \"value\": 0\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 6109,\n                                          \"end\": 6115,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 214,\n                                              \"column\": 86\n                                            },\n                                            \"end\": {\n                                              \"line\": 214,\n                                              \"column\": 92\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6109,\n                                            \"end\": 6111,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 86\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 88\n                                              },\n                                              \"identifierName\": \"ix\"\n                                            },\n                                            \"name\": \"ix\"\n                                          },\n                                          \"operator\": \"+\",\n                                          \"right\": {\n                                            \"type\": \"NumericLiteral\",\n                                            \"start\": 6114,\n                                            \"end\": 6115,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 214,\n                                                \"column\": 91\n                                              },\n                                              \"end\": {\n                                                \"line\": 214,\n                                                \"column\": 92\n                                              }\n                                            },\n                                            \"extra\": {\n                                              \"rawValue\": 2,\n                                              \"raw\": \"2\"\n                                            },\n                                            \"value\": 2\n                                          }\n                                        },\n                                        \"extra\": {\n                                          \"parenthesized\": true,\n                                          \"parenStart\": 6085\n                                        }\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6122,\n                                \"end\": 6151,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 215,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 215,\n                                    \"column\": 33\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6128,\n                                    \"end\": 6150,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 215,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 215,\n                                        \"column\": 32\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6128,\n                                      \"end\": 6135,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 215,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 215,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"other_y\"\n                                      },\n                                      \"name\": \"other_y\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 6139,\n                                      \"end\": 6150,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 215,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 215,\n                                          \"column\": 32\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6139,\n                                        \"end\": 6146,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 215,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 215,\n                                            \"column\": 28\n                                          },\n                                          \"identifierName\": \"other_x\"\n                                        },\n                                        \"name\": \"other_x\"\n                                      },\n                                      \"operator\": \"+\",\n                                      \"right\": {\n                                        \"type\": \"NumericLiteral\",\n                                        \"start\": 6149,\n                                        \"end\": 6150,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 215,\n                                            \"column\": 31\n                                          },\n                                          \"end\": {\n                                            \"line\": 215,\n                                            \"column\": 32\n                                          }\n                                        },\n                                        \"extra\": {\n                                          \"rawValue\": 1,\n                                          \"raw\": \"1\"\n                                        },\n                                        \"value\": 1\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6156,\n                                \"end\": 6197,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 216,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 216,\n                                    \"column\": 45\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6162,\n                                    \"end\": 6196,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 216,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 216,\n                                        \"column\": 44\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6162,\n                                      \"end\": 6170,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 216,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 216,\n                                          \"column\": 18\n                                        },\n                                        \"identifierName\": \"coord2_x\"\n                                      },\n                                      \"name\": \"coord2_x\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 6173,\n                                      \"end\": 6196,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 216,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 216,\n                                          \"column\": 44\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6173,\n                                        \"end\": 6176,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 216,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 216,\n                                            \"column\": 24\n                                          },\n                                          \"identifierName\": \"b_x\"\n                                        },\n                                        \"name\": \"b_x\"\n                                      },\n                                      \"operator\": \"-\",\n                                      \"right\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6179,\n                                        \"end\": 6196,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 216,\n                                            \"column\": 27\n                                          },\n                                          \"end\": {\n                                            \"line\": 216,\n                                            \"column\": 44\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6179,\n                                          \"end\": 6187,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 216,\n                                              \"column\": 27\n                                            },\n                                            \"end\": {\n                                              \"line\": 216,\n                                              \"column\": 35\n                                            },\n                                            \"identifierName\": \"a_coords\"\n                                          },\n                                          \"name\": \"a_coords\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6188,\n                                          \"end\": 6195,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 216,\n                                              \"column\": 36\n                                            },\n                                            \"end\": {\n                                              \"line\": 216,\n                                              \"column\": 43\n                                            },\n                                            \"identifierName\": \"other_x\"\n                                          },\n                                          \"name\": \"other_x\"\n                                        },\n                                        \"computed\": true\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6202,\n                                \"end\": 6243,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 217,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 217,\n                                    \"column\": 45\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6208,\n                                    \"end\": 6242,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 217,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 217,\n                                        \"column\": 44\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6208,\n                                      \"end\": 6216,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 217,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 217,\n                                          \"column\": 18\n                                        },\n                                        \"identifierName\": \"coord2_y\"\n                                      },\n                                      \"name\": \"coord2_y\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 6219,\n                                      \"end\": 6242,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 217,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 217,\n                                          \"column\": 44\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6219,\n                                        \"end\": 6222,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 217,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 217,\n                                            \"column\": 24\n                                          },\n                                          \"identifierName\": \"b_y\"\n                                        },\n                                        \"name\": \"b_y\"\n                                      },\n                                      \"operator\": \"-\",\n                                      \"right\": {\n                                        \"type\": \"MemberExpression\",\n                                        \"start\": 6225,\n                                        \"end\": 6242,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 217,\n                                            \"column\": 27\n                                          },\n                                          \"end\": {\n                                            \"line\": 217,\n                                            \"column\": 44\n                                          }\n                                        },\n                                        \"object\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6225,\n                                          \"end\": 6233,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 217,\n                                              \"column\": 27\n                                            },\n                                            \"end\": {\n                                              \"line\": 217,\n                                              \"column\": 35\n                                            },\n                                            \"identifierName\": \"a_coords\"\n                                          },\n                                          \"name\": \"a_coords\"\n                                        },\n                                        \"property\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6234,\n                                          \"end\": 6241,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 217,\n                                              \"column\": 36\n                                            },\n                                            \"end\": {\n                                              \"line\": 217,\n                                              \"column\": 43\n                                            },\n                                            \"identifierName\": \"other_y\"\n                                          },\n                                          \"name\": \"other_y\"\n                                        },\n                                        \"computed\": true\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6248,\n                                \"end\": 6282,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 218,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 218,\n                                    \"column\": 38\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6254,\n                                    \"end\": 6281,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 218,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 218,\n                                        \"column\": 37\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6254,\n                                      \"end\": 6261,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 218,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 218,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"edge2_x\"\n                                      },\n                                      \"name\": \"edge2_x\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6265,\n                                      \"end\": 6281,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 218,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 218,\n                                          \"column\": 37\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6265,\n                                        \"end\": 6272,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 218,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 218,\n                                            \"column\": 28\n                                          },\n                                          \"identifierName\": \"a_edges\"\n                                        },\n                                        \"name\": \"a_edges\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6273,\n                                        \"end\": 6280,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 218,\n                                            \"column\": 29\n                                          },\n                                          \"end\": {\n                                            \"line\": 218,\n                                            \"column\": 36\n                                          },\n                                          \"identifierName\": \"other_x\"\n                                        },\n                                        \"name\": \"other_x\"\n                                      },\n                                      \"computed\": true\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6287,\n                                \"end\": 6321,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 219,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 219,\n                                    \"column\": 38\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6293,\n                                    \"end\": 6320,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 219,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 219,\n                                        \"column\": 37\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6293,\n                                      \"end\": 6300,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 219,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 219,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"edge2_y\"\n                                      },\n                                      \"name\": \"edge2_y\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 6304,\n                                      \"end\": 6320,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 219,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 219,\n                                          \"column\": 37\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6304,\n                                        \"end\": 6311,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 219,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 219,\n                                            \"column\": 28\n                                          },\n                                          \"identifierName\": \"a_edges\"\n                                        },\n                                        \"name\": \"a_edges\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6312,\n                                        \"end\": 6319,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 219,\n                                            \"column\": 29\n                                          },\n                                          \"end\": {\n                                            \"line\": 219,\n                                            \"column\": 36\n                                          },\n                                          \"identifierName\": \"other_y\"\n                                        },\n                                        \"name\": \"other_y\"\n                                      },\n                                      \"computed\": true\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6326,\n                                \"end\": 6383,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 220,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 220,\n                                    \"column\": 61\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6332,\n                                    \"end\": 6382,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 220,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 220,\n                                        \"column\": 60\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6332,\n                                      \"end\": 6336,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 220,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 220,\n                                          \"column\": 14\n                                        },\n                                        \"identifierName\": \"dot2\"\n                                      },\n                                      \"name\": \"dot2\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 6343,\n                                      \"end\": 6382,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 220,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 220,\n                                          \"column\": 60\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6343,\n                                        \"end\": 6361,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 220,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 220,\n                                            \"column\": 39\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6343,\n                                          \"end\": 6351,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 220,\n                                              \"column\": 21\n                                            },\n                                            \"end\": {\n                                              \"line\": 220,\n                                              \"column\": 29\n                                            },\n                                            \"identifierName\": \"coord2_x\"\n                                          },\n                                          \"name\": \"coord2_x\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6354,\n                                          \"end\": 6361,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 220,\n                                              \"column\": 32\n                                            },\n                                            \"end\": {\n                                              \"line\": 220,\n                                              \"column\": 39\n                                            },\n                                            \"identifierName\": \"edge2_x\"\n                                          },\n                                          \"name\": \"edge2_x\"\n                                        }\n                                      },\n                                      \"operator\": \"+\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6364,\n                                        \"end\": 6382,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 220,\n                                            \"column\": 42\n                                          },\n                                          \"end\": {\n                                            \"line\": 220,\n                                            \"column\": 60\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6364,\n                                          \"end\": 6372,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 220,\n                                              \"column\": 42\n                                            },\n                                            \"end\": {\n                                              \"line\": 220,\n                                              \"column\": 50\n                                            },\n                                            \"identifierName\": \"coord2_y\"\n                                          },\n                                          \"name\": \"coord2_y\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6375,\n                                          \"end\": 6382,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 220,\n                                              \"column\": 53\n                                            },\n                                            \"end\": {\n                                              \"line\": 220,\n                                              \"column\": 60\n                                            },\n                                            \"identifierName\": \"edge2_y\"\n                                          },\n                                          \"name\": \"edge2_y\"\n                                        }\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 6388,\n                                \"end\": 6474,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 221,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 221,\n                                    \"column\": 90\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 6394,\n                                    \"end\": 6473,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 221,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 221,\n                                        \"column\": 89\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6394,\n                                      \"end\": 6401,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 221,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 221,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"region2\"\n                                      },\n                                      \"name\": \"region2\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"ConditionalExpression\",\n                                      \"start\": 6405,\n                                      \"end\": 6473,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 221,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 221,\n                                          \"column\": 89\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6405,\n                                        \"end\": 6413,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 221,\n                                            \"column\": 21\n                                          },\n                                          \"end\": {\n                                            \"line\": 221,\n                                            \"column\": 29\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6405,\n                                          \"end\": 6409,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 221,\n                                              \"column\": 21\n                                            },\n                                            \"end\": {\n                                              \"line\": 221,\n                                              \"column\": 25\n                                            },\n                                            \"identifierName\": \"dot2\"\n                                          },\n                                          \"name\": \"dot2\"\n                                        },\n                                        \"operator\": \"<\",\n                                        \"right\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 6412,\n                                          \"end\": 6413,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 221,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 221,\n                                              \"column\": 29\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 0,\n                                            \"raw\": \"0\"\n                                          },\n                                          \"value\": 0\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"UnaryExpression\",\n                                        \"start\": 6416,\n                                        \"end\": 6418,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 221,\n                                            \"column\": 32\n                                          },\n                                          \"end\": {\n                                            \"line\": 221,\n                                            \"column\": 34\n                                          }\n                                        },\n                                        \"operator\": \"-\",\n                                        \"prefix\": true,\n                                        \"argument\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 6417,\n                                          \"end\": 6418,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 221,\n                                              \"column\": 33\n                                            },\n                                            \"end\": {\n                                              \"line\": 221,\n                                              \"column\": 34\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 1,\n                                            \"raw\": \"1\"\n                                          },\n                                          \"value\": 1\n                                        },\n                                        \"extra\": {\n                                          \"parenthesizedArgument\": false\n                                        }\n                                      },\n                                      \"alternate\": {\n                                        \"type\": \"ConditionalExpression\",\n                                        \"start\": 6421,\n                                        \"end\": 6473,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 221,\n                                            \"column\": 37\n                                          },\n                                          \"end\": {\n                                            \"line\": 221,\n                                            \"column\": 89\n                                          }\n                                        },\n                                        \"test\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 6421,\n                                          \"end\": 6465,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 221,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 221,\n                                              \"column\": 81\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6421,\n                                            \"end\": 6425,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 221,\n                                                \"column\": 37\n                                              },\n                                              \"end\": {\n                                                \"line\": 221,\n                                                \"column\": 41\n                                              },\n                                              \"identifierName\": \"dot2\"\n                                            },\n                                            \"name\": \"dot2\"\n                                          },\n                                          \"operator\": \">\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 6428,\n                                            \"end\": 6465,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 221,\n                                                \"column\": 44\n                                              },\n                                              \"end\": {\n                                                \"line\": 221,\n                                                \"column\": 81\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 6428,\n                                              \"end\": 6445,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 221,\n                                                  \"column\": 44\n                                                },\n                                                \"end\": {\n                                                  \"line\": 221,\n                                                  \"column\": 61\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6428,\n                                                \"end\": 6435,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 221,\n                                                    \"column\": 44\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 221,\n                                                    \"column\": 51\n                                                  },\n                                                  \"identifierName\": \"edge2_x\"\n                                                },\n                                                \"name\": \"edge2_x\"\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6438,\n                                                \"end\": 6445,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 221,\n                                                    \"column\": 54\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 221,\n                                                    \"column\": 61\n                                                  },\n                                                  \"identifierName\": \"edge2_x\"\n                                                },\n                                                \"name\": \"edge2_x\"\n                                              }\n                                            },\n                                            \"operator\": \"+\",\n                                            \"right\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 6448,\n                                              \"end\": 6465,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 221,\n                                                  \"column\": 64\n                                                },\n                                                \"end\": {\n                                                  \"line\": 221,\n                                                  \"column\": 81\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6448,\n                                                \"end\": 6455,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 221,\n                                                    \"column\": 64\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 221,\n                                                    \"column\": 71\n                                                  },\n                                                  \"identifierName\": \"edge2_y\"\n                                                },\n                                                \"name\": \"edge2_y\"\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6458,\n                                                \"end\": 6465,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 221,\n                                                    \"column\": 74\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 221,\n                                                    \"column\": 81\n                                                  },\n                                                  \"identifierName\": \"edge2_y\"\n                                                },\n                                                \"name\": \"edge2_y\"\n                                              }\n                                            }\n                                          }\n                                        },\n                                        \"consequent\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 6468,\n                                          \"end\": 6469,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 221,\n                                              \"column\": 84\n                                            },\n                                            \"end\": {\n                                              \"line\": 221,\n                                              \"column\": 85\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 1,\n                                            \"raw\": \"1\"\n                                          },\n                                          \"value\": 1\n                                        },\n                                        \"alternate\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 6472,\n                                          \"end\": 6473,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 221,\n                                              \"column\": 88\n                                            },\n                                            \"end\": {\n                                              \"line\": 221,\n                                              \"column\": 89\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 0,\n                                            \"raw\": \"0\"\n                                          },\n                                          \"value\": 0\n                                        }\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"IfStatement\",\n                                \"start\": 6480,\n                                \"end\": 7028,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 223,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 241,\n                                    \"column\": 5\n                                  }\n                                },\n                                \"test\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 6483,\n                                  \"end\": 6502,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 223,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 223,\n                                      \"column\": 26\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 6483,\n                                    \"end\": 6490,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 223,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 223,\n                                        \"column\": 14\n                                      },\n                                      \"identifierName\": \"region2\"\n                                    },\n                                    \"name\": \"region2\"\n                                  },\n                                  \"operator\": \"===\",\n                                  \"right\": {\n                                    \"type\": \"UnaryExpression\",\n                                    \"start\": 6495,\n                                    \"end\": 6502,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 223,\n                                        \"column\": 19\n                                      },\n                                      \"end\": {\n                                        \"line\": 223,\n                                        \"column\": 26\n                                      }\n                                    },\n                                    \"operator\": \"-\",\n                                    \"prefix\": true,\n                                    \"argument\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 6496,\n                                      \"end\": 6502,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 223,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 223,\n                                          \"column\": 26\n                                        },\n                                        \"identifierName\": \"region\"\n                                      },\n                                      \"name\": \"region\"\n                                    },\n                                    \"extra\": {\n                                      \"parenthesizedArgument\": false\n                                    }\n                                  }\n                                },\n                                \"consequent\": {\n                                  \"type\": \"BlockStatement\",\n                                  \"start\": 6504,\n                                  \"end\": 7028,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 223,\n                                      \"column\": 28\n                                    },\n                                    \"end\": {\n                                      \"line\": 241,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"body\": [\n                                    {\n                                      \"type\": \"VariableDeclaration\",\n                                      \"start\": 6511,\n                                      \"end\": 6560,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 224,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 224,\n                                          \"column\": 54\n                                        }\n                                      },\n                                      \"declarations\": [\n                                        {\n                                          \"type\": \"VariableDeclarator\",\n                                          \"start\": 6517,\n                                          \"end\": 6559,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 224,\n                                              \"column\": 11\n                                            },\n                                            \"end\": {\n                                              \"line\": 224,\n                                              \"column\": 53\n                                            }\n                                          },\n                                          \"id\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6517,\n                                            \"end\": 6525,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 224,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 224,\n                                                \"column\": 19\n                                              },\n                                              \"identifierName\": \"target_x\"\n                                            },\n                                            \"name\": \"target_x\"\n                                          },\n                                          \"init\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 6534,\n                                            \"end\": 6559,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 224,\n                                                \"column\": 28\n                                              },\n                                              \"end\": {\n                                                \"line\": 224,\n                                                \"column\": 53\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 6534,\n                                              \"end\": 6538,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 224,\n                                                  \"column\": 28\n                                                },\n                                                \"end\": {\n                                                  \"line\": 224,\n                                                  \"column\": 32\n                                                },\n                                                \"identifierName\": \"left\"\n                                              },\n                                              \"name\": \"left\"\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 6541,\n                                              \"end\": 6548,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 224,\n                                                  \"column\": 35\n                                                },\n                                                \"end\": {\n                                                  \"line\": 224,\n                                                  \"column\": 42\n                                                },\n                                                \"identifierName\": \"coord_x\"\n                                              },\n                                              \"name\": \"coord_x\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 6551,\n                                              \"end\": 6559,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 224,\n                                                  \"column\": 45\n                                                },\n                                                \"end\": {\n                                                  \"line\": 224,\n                                                  \"column\": 53\n                                                },\n                                                \"identifierName\": \"coord2_x\"\n                                              },\n                                              \"name\": \"coord2_x\"\n                                            }\n                                          }\n                                        }\n                                      ],\n                                      \"kind\": \"const\"\n                                    },\n                                    {\n                                      \"type\": \"VariableDeclaration\",\n                                      \"start\": 6566,\n                                      \"end\": 6615,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 225,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 225,\n                                          \"column\": 54\n                                        }\n                                      },\n                                      \"declarations\": [\n                                        {\n                                          \"type\": \"VariableDeclarator\",\n                                          \"start\": 6572,\n                                          \"end\": 6614,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 225,\n                                              \"column\": 11\n                                            },\n                                            \"end\": {\n                                              \"line\": 225,\n                                              \"column\": 53\n                                            }\n                                          },\n                                          \"id\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6572,\n                                            \"end\": 6580,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 225,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 225,\n                                                \"column\": 19\n                                              },\n                                              \"identifierName\": \"target_y\"\n                                            },\n                                            \"name\": \"target_y\"\n                                          },\n                                          \"init\": {\n                                            \"type\": \"ConditionalExpression\",\n                                            \"start\": 6589,\n                                            \"end\": 6614,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 225,\n                                                \"column\": 28\n                                              },\n                                              \"end\": {\n                                                \"line\": 225,\n                                                \"column\": 53\n                                              }\n                                            },\n                                            \"test\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 6589,\n                                              \"end\": 6593,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 225,\n                                                  \"column\": 28\n                                                },\n                                                \"end\": {\n                                                  \"line\": 225,\n                                                  \"column\": 32\n                                                },\n                                                \"identifierName\": \"left\"\n                                              },\n                                              \"name\": \"left\"\n                                            },\n                                            \"consequent\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 6596,\n                                              \"end\": 6603,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 225,\n                                                  \"column\": 35\n                                                },\n                                                \"end\": {\n                                                  \"line\": 225,\n                                                  \"column\": 42\n                                                },\n                                                \"identifierName\": \"coord_y\"\n                                              },\n                                              \"name\": \"coord_y\"\n                                            },\n                                            \"alternate\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 6606,\n                                              \"end\": 6614,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 225,\n                                                  \"column\": 45\n                                                },\n                                                \"end\": {\n                                                  \"line\": 225,\n                                                  \"column\": 53\n                                                },\n                                                \"identifierName\": \"coord2_y\"\n                                              },\n                                              \"name\": \"coord2_y\"\n                                            }\n                                          }\n                                        }\n                                      ],\n                                      \"kind\": \"const\"\n                                    },\n                                    {\n                                      \"type\": \"VariableDeclaration\",\n                                      \"start\": 6621,\n                                      \"end\": 6686,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 226,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 226,\n                                          \"column\": 70\n                                        }\n                                      },\n                                      \"declarations\": [\n                                        {\n                                          \"type\": \"VariableDeclarator\",\n                                          \"start\": 6627,\n                                          \"end\": 6685,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 226,\n                                              \"column\": 11\n                                            },\n                                            \"end\": {\n                                              \"line\": 226,\n                                              \"column\": 69\n                                            }\n                                          },\n                                          \"id\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 6627,\n                                            \"end\": 6641,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 226,\n                                                \"column\": 11\n                                              },\n                                              \"end\": {\n                                                \"line\": 226,\n                                                \"column\": 25\n                                              },\n                                              \"identifierName\": \"length_squared\"\n                                            },\n                                            \"name\": \"length_squared\"\n                                          },\n                                          \"init\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 6644,\n                                            \"end\": 6685,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 226,\n                                                \"column\": 28\n                                              },\n                                              \"end\": {\n                                                \"line\": 226,\n                                                \"column\": 69\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 6644,\n                                              \"end\": 6663,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 226,\n                                                  \"column\": 28\n                                                },\n                                                \"end\": {\n                                                  \"line\": 226,\n                                                  \"column\": 47\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6644,\n                                                \"end\": 6652,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 226,\n                                                    \"column\": 28\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 226,\n                                                    \"column\": 36\n                                                  },\n                                                  \"identifierName\": \"target_x\"\n                                                },\n                                                \"name\": \"target_x\"\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6655,\n                                                \"end\": 6663,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 226,\n                                                    \"column\": 39\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 226,\n                                                    \"column\": 47\n                                                  },\n                                                  \"identifierName\": \"target_x\"\n                                                },\n                                                \"name\": \"target_x\"\n                                              }\n                                            },\n                                            \"operator\": \"+\",\n                                            \"right\": {\n                                              \"type\": \"BinaryExpression\",\n                                              \"start\": 6666,\n                                              \"end\": 6685,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 226,\n                                                  \"column\": 50\n                                                },\n                                                \"end\": {\n                                                  \"line\": 226,\n                                                  \"column\": 69\n                                                }\n                                              },\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6666,\n                                                \"end\": 6674,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 226,\n                                                    \"column\": 50\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 226,\n                                                    \"column\": 58\n                                                  },\n                                                  \"identifierName\": \"target_y\"\n                                                },\n                                                \"name\": \"target_y\"\n                                              },\n                                              \"operator\": \"*\",\n                                              \"right\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6677,\n                                                \"end\": 6685,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 226,\n                                                    \"column\": 61\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 226,\n                                                    \"column\": 69\n                                                  },\n                                                  \"identifierName\": \"target_y\"\n                                                },\n                                                \"name\": \"target_y\"\n                                              }\n                                            }\n                                          }\n                                        }\n                                      ],\n                                      \"kind\": \"const\"\n                                    },\n                                    {\n                                      \"type\": \"IfStatement\",\n                                      \"start\": 6693,\n                                      \"end\": 6757,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 228,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 230,\n                                          \"column\": 6\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 6696,\n                                        \"end\": 6727,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 228,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 228,\n                                            \"column\": 39\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6696,\n                                          \"end\": 6710,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 228,\n                                              \"column\": 8\n                                            },\n                                            \"end\": {\n                                              \"line\": 228,\n                                              \"column\": 22\n                                            },\n                                            \"identifierName\": \"length_squared\"\n                                          },\n                                          \"name\": \"length_squared\"\n                                        },\n                                        \"operator\": \">\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 6713,\n                                          \"end\": 6727,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 228,\n                                              \"column\": 25\n                                            },\n                                            \"end\": {\n                                              \"line\": 228,\n                                              \"column\": 39\n                                            },\n                                            \"identifierName\": \"radius_squared\"\n                                          },\n                                          \"name\": \"radius_squared\"\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"BlockStatement\",\n                                        \"start\": 6729,\n                                        \"end\": 6757,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 228,\n                                            \"column\": 41\n                                          },\n                                          \"end\": {\n                                            \"line\": 230,\n                                            \"column\": 6\n                                          }\n                                        },\n                                        \"body\": [\n                                          {\n                                            \"type\": \"ReturnStatement\",\n                                            \"start\": 6737,\n                                            \"end\": 6750,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 229,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 229,\n                                                \"column\": 19\n                                              }\n                                            },\n                                            \"argument\": {\n                                              \"type\": \"BooleanLiteral\",\n                                              \"start\": 6744,\n                                              \"end\": 6749,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 229,\n                                                  \"column\": 13\n                                                },\n                                                \"end\": {\n                                                  \"line\": 229,\n                                                  \"column\": 18\n                                                }\n                                              },\n                                              \"value\": false\n                                            }\n                                          }\n                                        ],\n                                        \"directives\": []\n                                      },\n                                      \"alternate\": null\n                                    },\n                                    {\n                                      \"type\": \"IfStatement\",\n                                      \"start\": 6764,\n                                      \"end\": 7022,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 232,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 240,\n                                          \"column\": 6\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 6767,\n                                        \"end\": 6773,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 232,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 232,\n                                            \"column\": 14\n                                          },\n                                          \"identifierName\": \"result\"\n                                        },\n                                        \"name\": \"result\"\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"BlockStatement\",\n                                        \"start\": 6775,\n                                        \"end\": 7022,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 232,\n                                            \"column\": 16\n                                          },\n                                          \"end\": {\n                                            \"line\": 240,\n                                            \"column\": 6\n                                          }\n                                        },\n                                        \"body\": [\n                                          {\n                                            \"type\": \"VariableDeclaration\",\n                                            \"start\": 6783,\n                                            \"end\": 6824,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 233,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 233,\n                                                \"column\": 47\n                                              }\n                                            },\n                                            \"declarations\": [\n                                              {\n                                                \"type\": \"VariableDeclarator\",\n                                                \"start\": 6789,\n                                                \"end\": 6823,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 233,\n                                                    \"column\": 12\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 233,\n                                                    \"column\": 46\n                                                  }\n                                                },\n                                                \"id\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 6789,\n                                                  \"end\": 6795,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 233,\n                                                      \"column\": 12\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 233,\n                                                      \"column\": 18\n                                                    },\n                                                    \"identifierName\": \"length\"\n                                                  },\n                                                  \"name\": \"length\"\n                                                },\n                                                \"init\": {\n                                                  \"type\": \"CallExpression\",\n                                                  \"start\": 6798,\n                                                  \"end\": 6823,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 233,\n                                                      \"column\": 21\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 233,\n                                                      \"column\": 46\n                                                    }\n                                                  },\n                                                  \"callee\": {\n                                                    \"type\": \"MemberExpression\",\n                                                    \"start\": 6798,\n                                                    \"end\": 6807,\n                                                    \"loc\": {\n                                                      \"start\": {\n                                                        \"line\": 233,\n                                                        \"column\": 21\n                                                      },\n                                                      \"end\": {\n                                                        \"line\": 233,\n                                                        \"column\": 30\n                                                      }\n                                                    },\n                                                    \"object\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 6798,\n                                                      \"end\": 6802,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 233,\n                                                          \"column\": 21\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 233,\n                                                          \"column\": 25\n                                                        },\n                                                        \"identifierName\": \"Math\"\n                                                      },\n                                                      \"name\": \"Math\"\n                                                    },\n                                                    \"property\": {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 6803,\n                                                      \"end\": 6807,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 233,\n                                                          \"column\": 26\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 233,\n                                                          \"column\": 30\n                                                        },\n                                                        \"identifierName\": \"sqrt\"\n                                                      },\n                                                      \"name\": \"sqrt\"\n                                                    },\n                                                    \"computed\": false\n                                                  },\n                                                  \"arguments\": [\n                                                    {\n                                                      \"type\": \"Identifier\",\n                                                      \"start\": 6808,\n                                                      \"end\": 6822,\n                                                      \"loc\": {\n                                                        \"start\": {\n                                                          \"line\": 233,\n                                                          \"column\": 31\n                                                        },\n                                                        \"end\": {\n                                                          \"line\": 233,\n                                                          \"column\": 45\n                                                        },\n                                                        \"identifierName\": \"length_squared\"\n                                                      },\n                                                      \"name\": \"length_squared\"\n                                                    }\n                                                  ]\n                                                }\n                                              }\n                                            ],\n                                            \"kind\": \"const\"\n                                          },\n                                          {\n                                            \"type\": \"ExpressionStatement\",\n                                            \"start\": 6832,\n                                            \"end\": 6855,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 235,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 235,\n                                                \"column\": 29\n                                              }\n                                            },\n                                            \"expression\": {\n                                              \"type\": \"AssignmentExpression\",\n                                              \"start\": 6832,\n                                              \"end\": 6854,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 235,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 235,\n                                                  \"column\": 28\n                                                }\n                                              },\n                                              \"operator\": \"=\",\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6832,\n                                                \"end\": 6847,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 235,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 235,\n                                                    \"column\": 21\n                                                  },\n                                                  \"identifierName\": \"tmp_overlapping\"\n                                                },\n                                                \"name\": \"tmp_overlapping\"\n                                              },\n                                              \"right\": {\n                                                \"type\": \"BooleanLiteral\",\n                                                \"start\": 6850,\n                                                \"end\": 6854,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 235,\n                                                    \"column\": 24\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 235,\n                                                    \"column\": 28\n                                                  }\n                                                },\n                                                \"value\": true\n                                              }\n                                            }\n                                          },\n                                          {\n                                            \"type\": \"ExpressionStatement\",\n                                            \"start\": 6862,\n                                            \"end\": 6898,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 236,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 236,\n                                                \"column\": 42\n                                              }\n                                            },\n                                            \"expression\": {\n                                              \"type\": \"AssignmentExpression\",\n                                              \"start\": 6862,\n                                              \"end\": 6897,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 236,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 236,\n                                                  \"column\": 41\n                                                }\n                                              },\n                                              \"operator\": \"=\",\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6862,\n                                                \"end\": 6873,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 236,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 236,\n                                                    \"column\": 17\n                                                  },\n                                                  \"identifierName\": \"tmp_overlap\"\n                                                },\n                                                \"name\": \"tmp_overlap\"\n                                              },\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 6880,\n                                                \"end\": 6897,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 236,\n                                                    \"column\": 24\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 236,\n                                                    \"column\": 41\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 6880,\n                                                  \"end\": 6888,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 236,\n                                                      \"column\": 24\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 236,\n                                                      \"column\": 32\n                                                    },\n                                                    \"identifierName\": \"b_radius\"\n                                                  },\n                                                  \"name\": \"b_radius\"\n                                                },\n                                                \"operator\": \"-\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 6891,\n                                                  \"end\": 6897,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 236,\n                                                      \"column\": 35\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 236,\n                                                      \"column\": 41\n                                                    },\n                                                    \"identifierName\": \"length\"\n                                                  },\n                                                  \"name\": \"length\"\n                                                }\n                                              }\n                                            }\n                                          },\n                                          {\n                                            \"type\": \"ExpressionStatement\",\n                                            \"start\": 6905,\n                                            \"end\": 6941,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 237,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 237,\n                                                \"column\": 42\n                                              }\n                                            },\n                                            \"expression\": {\n                                              \"type\": \"AssignmentExpression\",\n                                              \"start\": 6905,\n                                              \"end\": 6940,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 237,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 237,\n                                                  \"column\": 41\n                                                }\n                                              },\n                                              \"operator\": \"=\",\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6905,\n                                                \"end\": 6918,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 237,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 237,\n                                                    \"column\": 19\n                                                  },\n                                                  \"identifierName\": \"tmp_overlap_x\"\n                                                },\n                                                \"name\": \"tmp_overlap_x\"\n                                              },\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 6923,\n                                                \"end\": 6940,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 237,\n                                                    \"column\": 24\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 237,\n                                                    \"column\": 41\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 6923,\n                                                  \"end\": 6931,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 237,\n                                                      \"column\": 24\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 237,\n                                                      \"column\": 32\n                                                    },\n                                                    \"identifierName\": \"target_x\"\n                                                  },\n                                                  \"name\": \"target_x\"\n                                                },\n                                                \"operator\": \"/\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 6934,\n                                                  \"end\": 6940,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 237,\n                                                      \"column\": 35\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 237,\n                                                      \"column\": 41\n                                                    },\n                                                    \"identifierName\": \"length\"\n                                                  },\n                                                  \"name\": \"length\"\n                                                }\n                                              }\n                                            }\n                                          },\n                                          {\n                                            \"type\": \"ExpressionStatement\",\n                                            \"start\": 6948,\n                                            \"end\": 6984,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 238,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 238,\n                                                \"column\": 42\n                                              }\n                                            },\n                                            \"expression\": {\n                                              \"type\": \"AssignmentExpression\",\n                                              \"start\": 6948,\n                                              \"end\": 6983,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 238,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 238,\n                                                  \"column\": 41\n                                                }\n                                              },\n                                              \"operator\": \"=\",\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6948,\n                                                \"end\": 6961,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 238,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 238,\n                                                    \"column\": 19\n                                                  },\n                                                  \"identifierName\": \"tmp_overlap_y\"\n                                                },\n                                                \"name\": \"tmp_overlap_y\"\n                                              },\n                                              \"right\": {\n                                                \"type\": \"BinaryExpression\",\n                                                \"start\": 6966,\n                                                \"end\": 6983,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 238,\n                                                    \"column\": 24\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 238,\n                                                    \"column\": 41\n                                                  }\n                                                },\n                                                \"left\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 6966,\n                                                  \"end\": 6974,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 238,\n                                                      \"column\": 24\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 238,\n                                                      \"column\": 32\n                                                    },\n                                                    \"identifierName\": \"target_y\"\n                                                  },\n                                                  \"name\": \"target_y\"\n                                                },\n                                                \"operator\": \"/\",\n                                                \"right\": {\n                                                  \"type\": \"Identifier\",\n                                                  \"start\": 6977,\n                                                  \"end\": 6983,\n                                                  \"loc\": {\n                                                    \"start\": {\n                                                      \"line\": 238,\n                                                      \"column\": 35\n                                                    },\n                                                    \"end\": {\n                                                      \"line\": 238,\n                                                      \"column\": 41\n                                                    },\n                                                    \"identifierName\": \"length\"\n                                                  },\n                                                  \"name\": \"length\"\n                                                }\n                                              }\n                                            }\n                                          },\n                                          {\n                                            \"type\": \"ExpressionStatement\",\n                                            \"start\": 6991,\n                                            \"end\": 7015,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 239,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 239,\n                                                \"column\": 30\n                                              }\n                                            },\n                                            \"expression\": {\n                                              \"type\": \"AssignmentExpression\",\n                                              \"start\": 6991,\n                                              \"end\": 7014,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 239,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 239,\n                                                  \"column\": 29\n                                                }\n                                              },\n                                              \"operator\": \"=\",\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 6991,\n                                                \"end\": 6997,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 239,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 239,\n                                                    \"column\": 12\n                                                  },\n                                                  \"identifierName\": \"b_in_a\"\n                                                },\n                                                \"name\": \"b_in_a\"\n                                              },\n                                              \"right\": {\n                                                \"type\": \"BooleanLiteral\",\n                                                \"start\": 7009,\n                                                \"end\": 7014,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 239,\n                                                    \"column\": 24\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 239,\n                                                    \"column\": 29\n                                                  }\n                                                },\n                                                \"value\": false\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"directives\": []\n                                      },\n                                      \"alternate\": null\n                                    }\n                                  ],\n                                  \"directives\": []\n                                },\n                                \"alternate\": null\n                              }\n                            ],\n                            \"directives\": []\n                          },\n                          \"alternate\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 7042,\n                            \"end\": 7590,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 243,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 263,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 7048,\n                                \"end\": 7086,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 244,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 244,\n                                    \"column\": 42\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 7054,\n                                    \"end\": 7085,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 244,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 244,\n                                        \"column\": 41\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7054,\n                                      \"end\": 7062,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 244,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 244,\n                                          \"column\": 18\n                                        },\n                                        \"identifierName\": \"normal_x\"\n                                      },\n                                      \"name\": \"normal_x\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 7072,\n                                      \"end\": 7085,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 244,\n                                          \"column\": 28\n                                        },\n                                        \"end\": {\n                                          \"line\": 244,\n                                          \"column\": 41\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7072,\n                                        \"end\": 7081,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 244,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 244,\n                                            \"column\": 37\n                                          },\n                                          \"identifierName\": \"a_normals\"\n                                        },\n                                        \"name\": \"a_normals\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7082,\n                                        \"end\": 7084,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 244,\n                                            \"column\": 38\n                                          },\n                                          \"end\": {\n                                            \"line\": 244,\n                                            \"column\": 40\n                                          },\n                                          \"identifierName\": \"ix\"\n                                        },\n                                        \"name\": \"ix\"\n                                      },\n                                      \"computed\": true\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 7091,\n                                \"end\": 7129,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 245,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 245,\n                                    \"column\": 42\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 7097,\n                                    \"end\": 7128,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 245,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 245,\n                                        \"column\": 41\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7097,\n                                      \"end\": 7105,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 245,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 245,\n                                          \"column\": 18\n                                        },\n                                        \"identifierName\": \"normal_y\"\n                                      },\n                                      \"name\": \"normal_y\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"MemberExpression\",\n                                      \"start\": 7115,\n                                      \"end\": 7128,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 245,\n                                          \"column\": 28\n                                        },\n                                        \"end\": {\n                                          \"line\": 245,\n                                          \"column\": 41\n                                        }\n                                      },\n                                      \"object\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7115,\n                                        \"end\": 7124,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 245,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 245,\n                                            \"column\": 37\n                                          },\n                                          \"identifierName\": \"a_normals\"\n                                        },\n                                        \"name\": \"a_normals\"\n                                      },\n                                      \"property\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7125,\n                                        \"end\": 7127,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 245,\n                                            \"column\": 38\n                                          },\n                                          \"end\": {\n                                            \"line\": 245,\n                                            \"column\": 40\n                                          },\n                                          \"identifierName\": \"iy\"\n                                        },\n                                        \"name\": \"iy\"\n                                      },\n                                      \"computed\": true\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 7134,\n                                \"end\": 7198,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 246,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 246,\n                                    \"column\": 68\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 7140,\n                                    \"end\": 7197,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 246,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 246,\n                                        \"column\": 67\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7140,\n                                      \"end\": 7146,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 246,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 246,\n                                          \"column\": 16\n                                        },\n                                        \"identifierName\": \"length\"\n                                      },\n                                      \"name\": \"length\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 7158,\n                                      \"end\": 7197,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 246,\n                                          \"column\": 28\n                                        },\n                                        \"end\": {\n                                          \"line\": 246,\n                                          \"column\": 67\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 7158,\n                                        \"end\": 7176,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 246,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 246,\n                                            \"column\": 46\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7158,\n                                          \"end\": 7165,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 246,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 246,\n                                              \"column\": 35\n                                            },\n                                            \"identifierName\": \"coord_x\"\n                                          },\n                                          \"name\": \"coord_x\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7168,\n                                          \"end\": 7176,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 246,\n                                              \"column\": 38\n                                            },\n                                            \"end\": {\n                                              \"line\": 246,\n                                              \"column\": 46\n                                            },\n                                            \"identifierName\": \"normal_x\"\n                                          },\n                                          \"name\": \"normal_x\"\n                                        }\n                                      },\n                                      \"operator\": \"+\",\n                                      \"right\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 7179,\n                                        \"end\": 7197,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 246,\n                                            \"column\": 49\n                                          },\n                                          \"end\": {\n                                            \"line\": 246,\n                                            \"column\": 67\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7179,\n                                          \"end\": 7186,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 246,\n                                              \"column\": 49\n                                            },\n                                            \"end\": {\n                                              \"line\": 246,\n                                              \"column\": 56\n                                            },\n                                            \"identifierName\": \"coord_y\"\n                                          },\n                                          \"name\": \"coord_y\"\n                                        },\n                                        \"operator\": \"*\",\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7189,\n                                          \"end\": 7197,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 246,\n                                              \"column\": 59\n                                            },\n                                            \"end\": {\n                                              \"line\": 246,\n                                              \"column\": 67\n                                            },\n                                            \"identifierName\": \"normal_y\"\n                                          },\n                                          \"name\": \"normal_y\"\n                                        }\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 7203,\n                                \"end\": 7257,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 247,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 247,\n                                    \"column\": 58\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 7209,\n                                    \"end\": 7256,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 247,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 247,\n                                        \"column\": 57\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7209,\n                                      \"end\": 7224,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 247,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 247,\n                                          \"column\": 25\n                                        },\n                                        \"identifierName\": \"absolute_length\"\n                                      },\n                                      \"name\": \"absolute_length\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"ConditionalExpression\",\n                                      \"start\": 7227,\n                                      \"end\": 7256,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 247,\n                                          \"column\": 28\n                                        },\n                                        \"end\": {\n                                          \"line\": 247,\n                                          \"column\": 57\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"BinaryExpression\",\n                                        \"start\": 7227,\n                                        \"end\": 7237,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 247,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 247,\n                                            \"column\": 38\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7227,\n                                          \"end\": 7233,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 247,\n                                              \"column\": 28\n                                            },\n                                            \"end\": {\n                                              \"line\": 247,\n                                              \"column\": 34\n                                            },\n                                            \"identifierName\": \"length\"\n                                          },\n                                          \"name\": \"length\"\n                                        },\n                                        \"operator\": \"<\",\n                                        \"right\": {\n                                          \"type\": \"NumericLiteral\",\n                                          \"start\": 7236,\n                                          \"end\": 7237,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 247,\n                                              \"column\": 37\n                                            },\n                                            \"end\": {\n                                              \"line\": 247,\n                                              \"column\": 38\n                                            }\n                                          },\n                                          \"extra\": {\n                                            \"rawValue\": 0,\n                                            \"raw\": \"0\"\n                                          },\n                                          \"value\": 0\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"UnaryExpression\",\n                                        \"start\": 7240,\n                                        \"end\": 7247,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 247,\n                                            \"column\": 41\n                                          },\n                                          \"end\": {\n                                            \"line\": 247,\n                                            \"column\": 48\n                                          }\n                                        },\n                                        \"operator\": \"-\",\n                                        \"prefix\": true,\n                                        \"argument\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7241,\n                                          \"end\": 7247,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 247,\n                                              \"column\": 42\n                                            },\n                                            \"end\": {\n                                              \"line\": 247,\n                                              \"column\": 48\n                                            },\n                                            \"identifierName\": \"length\"\n                                          },\n                                          \"name\": \"length\"\n                                        },\n                                        \"extra\": {\n                                          \"parenthesizedArgument\": false\n                                        }\n                                      },\n                                      \"alternate\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 7250,\n                                        \"end\": 7256,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 247,\n                                            \"column\": 51\n                                          },\n                                          \"end\": {\n                                            \"line\": 247,\n                                            \"column\": 57\n                                          },\n                                          \"identifierName\": \"length\"\n                                        },\n                                        \"name\": \"length\"\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"IfStatement\",\n                                \"start\": 7263,\n                                \"end\": 7334,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 249,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 251,\n                                    \"column\": 5\n                                  }\n                                },\n                                \"test\": {\n                                  \"type\": \"LogicalExpression\",\n                                  \"start\": 7266,\n                                  \"end\": 7306,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 249,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 249,\n                                      \"column\": 47\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 7266,\n                                    \"end\": 7276,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 249,\n                                        \"column\": 7\n                                      },\n                                      \"end\": {\n                                        \"line\": 249,\n                                        \"column\": 17\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7266,\n                                      \"end\": 7272,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 249,\n                                          \"column\": 7\n                                        },\n                                        \"end\": {\n                                          \"line\": 249,\n                                          \"column\": 13\n                                        },\n                                        \"identifierName\": \"length\"\n                                      },\n                                      \"name\": \"length\"\n                                    },\n                                    \"operator\": \">\",\n                                    \"right\": {\n                                      \"type\": \"NumericLiteral\",\n                                      \"start\": 7275,\n                                      \"end\": 7276,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 249,\n                                          \"column\": 16\n                                        },\n                                        \"end\": {\n                                          \"line\": 249,\n                                          \"column\": 17\n                                        }\n                                      },\n                                      \"extra\": {\n                                        \"rawValue\": 0,\n                                        \"raw\": \"0\"\n                                      },\n                                      \"value\": 0\n                                    }\n                                  },\n                                  \"operator\": \"&&\",\n                                  \"right\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 7280,\n                                    \"end\": 7306,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 249,\n                                        \"column\": 21\n                                      },\n                                      \"end\": {\n                                        \"line\": 249,\n                                        \"column\": 47\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7280,\n                                      \"end\": 7295,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 249,\n                                          \"column\": 21\n                                        },\n                                        \"end\": {\n                                          \"line\": 249,\n                                          \"column\": 36\n                                        },\n                                        \"identifierName\": \"absolute_length\"\n                                      },\n                                      \"name\": \"absolute_length\"\n                                    },\n                                    \"operator\": \">\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 7298,\n                                      \"end\": 7306,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 249,\n                                          \"column\": 39\n                                        },\n                                        \"end\": {\n                                          \"line\": 249,\n                                          \"column\": 47\n                                        },\n                                        \"identifierName\": \"b_radius\"\n                                      },\n                                      \"name\": \"b_radius\"\n                                    }\n                                  }\n                                },\n                                \"consequent\": {\n                                  \"type\": \"BlockStatement\",\n                                  \"start\": 7308,\n                                  \"end\": 7334,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 249,\n                                      \"column\": 49\n                                    },\n                                    \"end\": {\n                                      \"line\": 251,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"body\": [\n                                    {\n                                      \"type\": \"ReturnStatement\",\n                                      \"start\": 7315,\n                                      \"end\": 7328,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 250,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 250,\n                                          \"column\": 18\n                                        }\n                                      },\n                                      \"argument\": {\n                                        \"type\": \"BooleanLiteral\",\n                                        \"start\": 7322,\n                                        \"end\": 7327,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 250,\n                                            \"column\": 12\n                                          },\n                                          \"end\": {\n                                            \"line\": 250,\n                                            \"column\": 17\n                                          }\n                                        },\n                                        \"value\": false\n                                      }\n                                    }\n                                  ],\n                                  \"directives\": []\n                                },\n                                \"alternate\": null\n                              },\n                              {\n                                \"type\": \"IfStatement\",\n                                \"start\": 7340,\n                                \"end\": 7585,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 253,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 262,\n                                    \"column\": 5\n                                  }\n                                },\n                                \"test\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 7343,\n                                  \"end\": 7349,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 253,\n                                      \"column\": 7\n                                    },\n                                    \"end\": {\n                                      \"line\": 253,\n                                      \"column\": 13\n                                    },\n                                    \"identifierName\": \"result\"\n                                  },\n                                  \"name\": \"result\"\n                                },\n                                \"consequent\": {\n                                  \"type\": \"BlockStatement\",\n                                  \"start\": 7351,\n                                  \"end\": 7585,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 253,\n                                      \"column\": 15\n                                    },\n                                    \"end\": {\n                                      \"line\": 262,\n                                      \"column\": 5\n                                    }\n                                  },\n                                  \"body\": [\n                                    {\n                                      \"type\": \"ExpressionStatement\",\n                                      \"start\": 7358,\n                                      \"end\": 7381,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 254,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 254,\n                                          \"column\": 28\n                                        }\n                                      },\n                                      \"expression\": {\n                                        \"type\": \"AssignmentExpression\",\n                                        \"start\": 7358,\n                                        \"end\": 7380,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 254,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 254,\n                                            \"column\": 27\n                                          }\n                                        },\n                                        \"operator\": \"=\",\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7358,\n                                          \"end\": 7373,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 254,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 254,\n                                              \"column\": 20\n                                            },\n                                            \"identifierName\": \"tmp_overlapping\"\n                                          },\n                                          \"name\": \"tmp_overlapping\"\n                                        },\n                                        \"right\": {\n                                          \"type\": \"BooleanLiteral\",\n                                          \"start\": 7376,\n                                          \"end\": 7380,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 254,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 254,\n                                              \"column\": 27\n                                            }\n                                          },\n                                          \"value\": true\n                                        }\n                                      }\n                                    },\n                                    {\n                                      \"type\": \"ExpressionStatement\",\n                                      \"start\": 7387,\n                                      \"end\": 7423,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 255,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 255,\n                                          \"column\": 41\n                                        }\n                                      },\n                                      \"expression\": {\n                                        \"type\": \"AssignmentExpression\",\n                                        \"start\": 7387,\n                                        \"end\": 7422,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 255,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 255,\n                                            \"column\": 40\n                                          }\n                                        },\n                                        \"operator\": \"=\",\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7387,\n                                          \"end\": 7398,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 255,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 255,\n                                              \"column\": 16\n                                            },\n                                            \"identifierName\": \"tmp_overlap\"\n                                          },\n                                          \"name\": \"tmp_overlap\"\n                                        },\n                                        \"right\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 7405,\n                                          \"end\": 7422,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 255,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 255,\n                                              \"column\": 40\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7405,\n                                            \"end\": 7413,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 255,\n                                                \"column\": 23\n                                              },\n                                              \"end\": {\n                                                \"line\": 255,\n                                                \"column\": 31\n                                              },\n                                              \"identifierName\": \"b_radius\"\n                                            },\n                                            \"name\": \"b_radius\"\n                                          },\n                                          \"operator\": \"-\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7416,\n                                            \"end\": 7422,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 255,\n                                                \"column\": 34\n                                              },\n                                              \"end\": {\n                                                \"line\": 255,\n                                                \"column\": 40\n                                              },\n                                              \"identifierName\": \"length\"\n                                            },\n                                            \"name\": \"length\"\n                                          }\n                                        }\n                                      }\n                                    },\n                                    {\n                                      \"type\": \"ExpressionStatement\",\n                                      \"start\": 7429,\n                                      \"end\": 7456,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 256,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 256,\n                                          \"column\": 32\n                                        }\n                                      },\n                                      \"expression\": {\n                                        \"type\": \"AssignmentExpression\",\n                                        \"start\": 7429,\n                                        \"end\": 7455,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 256,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 256,\n                                            \"column\": 31\n                                          }\n                                        },\n                                        \"operator\": \"=\",\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7429,\n                                          \"end\": 7442,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 256,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 256,\n                                              \"column\": 18\n                                            },\n                                            \"identifierName\": \"tmp_overlap_x\"\n                                          },\n                                          \"name\": \"tmp_overlap_x\"\n                                        },\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7447,\n                                          \"end\": 7455,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 256,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 256,\n                                              \"column\": 31\n                                            },\n                                            \"identifierName\": \"normal_x\"\n                                          },\n                                          \"name\": \"normal_x\"\n                                        }\n                                      }\n                                    },\n                                    {\n                                      \"type\": \"ExpressionStatement\",\n                                      \"start\": 7462,\n                                      \"end\": 7489,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 257,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 257,\n                                          \"column\": 32\n                                        }\n                                      },\n                                      \"expression\": {\n                                        \"type\": \"AssignmentExpression\",\n                                        \"start\": 7462,\n                                        \"end\": 7488,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 257,\n                                            \"column\": 5\n                                          },\n                                          \"end\": {\n                                            \"line\": 257,\n                                            \"column\": 31\n                                          }\n                                        },\n                                        \"operator\": \"=\",\n                                        \"left\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7462,\n                                          \"end\": 7475,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 257,\n                                              \"column\": 5\n                                            },\n                                            \"end\": {\n                                              \"line\": 257,\n                                              \"column\": 18\n                                            },\n                                            \"identifierName\": \"tmp_overlap_y\"\n                                          },\n                                          \"name\": \"tmp_overlap_y\"\n                                        },\n                                        \"right\": {\n                                          \"type\": \"Identifier\",\n                                          \"start\": 7480,\n                                          \"end\": 7488,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 257,\n                                              \"column\": 23\n                                            },\n                                            \"end\": {\n                                              \"line\": 257,\n                                              \"column\": 31\n                                            },\n                                            \"identifierName\": \"normal_y\"\n                                          },\n                                          \"name\": \"normal_y\"\n                                        }\n                                      }\n                                    },\n                                    {\n                                      \"type\": \"IfStatement\",\n                                      \"start\": 7496,\n                                      \"end\": 7579,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 259,\n                                          \"column\": 5\n                                        },\n                                        \"end\": {\n                                          \"line\": 261,\n                                          \"column\": 6\n                                        }\n                                      },\n                                      \"test\": {\n                                        \"type\": \"LogicalExpression\",\n                                        \"start\": 7499,\n                                        \"end\": 7547,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 259,\n                                            \"column\": 8\n                                          },\n                                          \"end\": {\n                                            \"line\": 259,\n                                            \"column\": 56\n                                          }\n                                        },\n                                        \"left\": {\n                                          \"type\": \"LogicalExpression\",\n                                          \"start\": 7499,\n                                          \"end\": 7520,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 259,\n                                              \"column\": 8\n                                            },\n                                            \"end\": {\n                                              \"line\": 259,\n                                              \"column\": 29\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7499,\n                                            \"end\": 7505,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 8\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 14\n                                              },\n                                              \"identifierName\": \"b_in_a\"\n                                            },\n                                            \"name\": \"b_in_a\"\n                                          },\n                                          \"operator\": \"&&\",\n                                          \"right\": {\n                                            \"type\": \"BinaryExpression\",\n                                            \"start\": 7509,\n                                            \"end\": 7520,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 18\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 29\n                                              }\n                                            },\n                                            \"left\": {\n                                              \"type\": \"Identifier\",\n                                              \"start\": 7509,\n                                              \"end\": 7515,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 18\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 24\n                                                },\n                                                \"identifierName\": \"length\"\n                                              },\n                                              \"name\": \"length\"\n                                            },\n                                            \"operator\": \">=\",\n                                            \"right\": {\n                                              \"type\": \"NumericLiteral\",\n                                              \"start\": 7519,\n                                              \"end\": 7520,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 259,\n                                                  \"column\": 28\n                                                },\n                                                \"end\": {\n                                                  \"line\": 259,\n                                                  \"column\": 29\n                                                }\n                                              },\n                                              \"extra\": {\n                                                \"rawValue\": 0,\n                                                \"raw\": \"0\"\n                                              },\n                                              \"value\": 0\n                                            }\n                                          }\n                                        },\n                                        \"operator\": \"||\",\n                                        \"right\": {\n                                          \"type\": \"BinaryExpression\",\n                                          \"start\": 7524,\n                                          \"end\": 7547,\n                                          \"loc\": {\n                                            \"start\": {\n                                              \"line\": 259,\n                                              \"column\": 33\n                                            },\n                                            \"end\": {\n                                              \"line\": 259,\n                                              \"column\": 56\n                                            }\n                                          },\n                                          \"left\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7524,\n                                            \"end\": 7535,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 33\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 44\n                                              },\n                                              \"identifierName\": \"tmp_overlap\"\n                                            },\n                                            \"name\": \"tmp_overlap\"\n                                          },\n                                          \"operator\": \"<\",\n                                          \"right\": {\n                                            \"type\": \"Identifier\",\n                                            \"start\": 7538,\n                                            \"end\": 7547,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 259,\n                                                \"column\": 47\n                                              },\n                                              \"end\": {\n                                                \"line\": 259,\n                                                \"column\": 56\n                                              },\n                                              \"identifierName\": \"b_radius2\"\n                                            },\n                                            \"name\": \"b_radius2\"\n                                          }\n                                        }\n                                      },\n                                      \"consequent\": {\n                                        \"type\": \"BlockStatement\",\n                                        \"start\": 7549,\n                                        \"end\": 7579,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 259,\n                                            \"column\": 58\n                                          },\n                                          \"end\": {\n                                            \"line\": 261,\n                                            \"column\": 6\n                                          }\n                                        },\n                                        \"body\": [\n                                          {\n                                            \"type\": \"ExpressionStatement\",\n                                            \"start\": 7557,\n                                            \"end\": 7572,\n                                            \"loc\": {\n                                              \"start\": {\n                                                \"line\": 260,\n                                                \"column\": 6\n                                              },\n                                              \"end\": {\n                                                \"line\": 260,\n                                                \"column\": 21\n                                              }\n                                            },\n                                            \"expression\": {\n                                              \"type\": \"AssignmentExpression\",\n                                              \"start\": 7557,\n                                              \"end\": 7571,\n                                              \"loc\": {\n                                                \"start\": {\n                                                  \"line\": 260,\n                                                  \"column\": 6\n                                                },\n                                                \"end\": {\n                                                  \"line\": 260,\n                                                  \"column\": 20\n                                                }\n                                              },\n                                              \"operator\": \"=\",\n                                              \"left\": {\n                                                \"type\": \"Identifier\",\n                                                \"start\": 7557,\n                                                \"end\": 7563,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 260,\n                                                    \"column\": 6\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 260,\n                                                    \"column\": 12\n                                                  },\n                                                  \"identifierName\": \"b_in_a\"\n                                                },\n                                                \"name\": \"b_in_a\"\n                                              },\n                                              \"right\": {\n                                                \"type\": \"BooleanLiteral\",\n                                                \"start\": 7566,\n                                                \"end\": 7571,\n                                                \"loc\": {\n                                                  \"start\": {\n                                                    \"line\": 260,\n                                                    \"column\": 15\n                                                  },\n                                                  \"end\": {\n                                                    \"line\": 260,\n                                                    \"column\": 20\n                                                  }\n                                                },\n                                                \"value\": false\n                                              }\n                                            }\n                                          }\n                                        ],\n                                        \"directives\": []\n                                      },\n                                      \"alternate\": null\n                                    }\n                                  ],\n                                  \"directives\": []\n                                },\n                                \"alternate\": null\n                              }\n                            ],\n                            \"directives\": []\n                          }\n                        },\n                        {\n                          \"type\": \"IfStatement\",\n                          \"start\": 7595,\n                          \"end\": 7759,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 265,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 269,\n                              \"column\": 4\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"LogicalExpression\",\n                            \"start\": 7598,\n                            \"end\": 7660,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 265,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 265,\n                                \"column\": 68\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 7598,\n                              \"end\": 7613,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 265,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 265,\n                                  \"column\": 21\n                                },\n                                \"identifierName\": \"tmp_overlapping\"\n                              },\n                              \"name\": \"tmp_overlapping\"\n                            },\n                            \"operator\": \"&&\",\n                            \"right\": {\n                              \"type\": \"LogicalExpression\",\n                              \"start\": 7618,\n                              \"end\": 7659,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 265,\n                                  \"column\": 26\n                                },\n                                \"end\": {\n                                  \"line\": 265,\n                                  \"column\": 67\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 7618,\n                                \"end\": 7634,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 265,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 265,\n                                    \"column\": 42\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 7618,\n                                  \"end\": 7625,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 265,\n                                      \"column\": 26\n                                    },\n                                    \"end\": {\n                                      \"line\": 265,\n                                      \"column\": 33\n                                    },\n                                    \"identifierName\": \"overlap\"\n                                  },\n                                  \"name\": \"overlap\"\n                                },\n                                \"operator\": \"===\",\n                                \"right\": {\n                                  \"type\": \"NullLiteral\",\n                                  \"start\": 7630,\n                                  \"end\": 7634,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 265,\n                                      \"column\": 38\n                                    },\n                                    \"end\": {\n                                      \"line\": 265,\n                                      \"column\": 42\n                                    }\n                                  }\n                                }\n                              },\n                              \"operator\": \"||\",\n                              \"right\": {\n                                \"type\": \"BinaryExpression\",\n                                \"start\": 7638,\n                                \"end\": 7659,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 265,\n                                    \"column\": 46\n                                  },\n                                  \"end\": {\n                                    \"line\": 265,\n                                    \"column\": 67\n                                  }\n                                },\n                                \"left\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 7638,\n                                  \"end\": 7645,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 265,\n                                      \"column\": 46\n                                    },\n                                    \"end\": {\n                                      \"line\": 265,\n                                      \"column\": 53\n                                    },\n                                    \"identifierName\": \"overlap\"\n                                  },\n                                  \"name\": \"overlap\"\n                                },\n                                \"operator\": \">\",\n                                \"right\": {\n                                  \"type\": \"Identifier\",\n                                  \"start\": 7648,\n                                  \"end\": 7659,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 265,\n                                      \"column\": 56\n                                    },\n                                    \"end\": {\n                                      \"line\": 265,\n                                      \"column\": 67\n                                    },\n                                    \"identifierName\": \"tmp_overlap\"\n                                  },\n                                  \"name\": \"tmp_overlap\"\n                                }\n                              },\n                              \"extra\": {\n                                \"parenthesized\": true,\n                                \"parenStart\": 7617\n                              }\n                            }\n                          },\n                          \"consequent\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 7662,\n                            \"end\": 7759,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 265,\n                                \"column\": 70\n                              },\n                              \"end\": {\n                                \"line\": 269,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 7668,\n                                \"end\": 7692,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 266,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 266,\n                                    \"column\": 28\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 7668,\n                                  \"end\": 7691,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 266,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 266,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7668,\n                                    \"end\": 7675,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 266,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 266,\n                                        \"column\": 11\n                                      },\n                                      \"identifierName\": \"overlap\"\n                                    },\n                                    \"name\": \"overlap\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7680,\n                                    \"end\": 7691,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 266,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 266,\n                                        \"column\": 27\n                                      },\n                                      \"identifierName\": \"tmp_overlap\"\n                                    },\n                                    \"name\": \"tmp_overlap\"\n                                  }\n                                }\n                              },\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 7697,\n                                \"end\": 7723,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 267,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 267,\n                                    \"column\": 30\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 7697,\n                                  \"end\": 7722,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 267,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 267,\n                                      \"column\": 29\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7697,\n                                    \"end\": 7706,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 267,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 267,\n                                        \"column\": 13\n                                      },\n                                      \"identifierName\": \"overlap_x\"\n                                    },\n                                    \"name\": \"overlap_x\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7709,\n                                    \"end\": 7722,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 267,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 267,\n                                        \"column\": 29\n                                      },\n                                      \"identifierName\": \"tmp_overlap_x\"\n                                    },\n                                    \"name\": \"tmp_overlap_x\"\n                                  }\n                                }\n                              },\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 7728,\n                                \"end\": 7754,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 268,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 268,\n                                    \"column\": 30\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 7728,\n                                  \"end\": 7753,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 268,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 268,\n                                      \"column\": 29\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7728,\n                                    \"end\": 7737,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 268,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 268,\n                                        \"column\": 13\n                                      },\n                                      \"identifierName\": \"overlap_y\"\n                                    },\n                                    \"name\": \"overlap_y\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 7740,\n                                    \"end\": 7753,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 268,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 268,\n                                        \"column\": 29\n                                      },\n                                      \"identifierName\": \"tmp_overlap_y\"\n                                    },\n                                    \"name\": \"tmp_overlap_y\"\n                                  }\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          },\n                          \"alternate\": null\n                        }\n                      ],\n                      \"directives\": []\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"leadingComments\": [\n                {\n                  \"type\": \"CommentLine\",\n                  \"value\": \" Handle points specially\",\n                  \"start\": 4945,\n                  \"end\": 4971,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 175,\n                      \"column\": 1\n                    },\n                    \"end\": {\n                      \"line\": 175,\n                      \"column\": 27\n                    }\n                  }\n                }\n              ]\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 7769,\n              \"end\": 8020,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 273,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 279,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"Identifier\",\n                \"start\": 7772,\n                \"end\": 7778,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 273,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 273,\n                    \"column\": 10\n                  },\n                  \"identifierName\": \"result\"\n                },\n                \"name\": \"result\"\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 7780,\n                \"end\": 8020,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 273,\n                    \"column\": 12\n                  },\n                  \"end\": {\n                    \"line\": 279,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 7784,\n                    \"end\": 7829,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 274,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 274,\n                        \"column\": 47\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 7784,\n                      \"end\": 7828,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 274,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 274,\n                          \"column\": 46\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 7784,\n                        \"end\": 7797,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 274,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 274,\n                            \"column\": 15\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7784,\n                          \"end\": 7790,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 274,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 274,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7791,\n                          \"end\": 7797,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 274,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 274,\n                              \"column\": 15\n                            },\n                            \"identifierName\": \"a_in_b\"\n                          },\n                          \"name\": \"a_in_b\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"ConditionalExpression\",\n                        \"start\": 7803,\n                        \"end\": 7828,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 274,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 274,\n                            \"column\": 46\n                          }\n                        },\n                        \"test\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7803,\n                          \"end\": 7810,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 274,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 274,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"reverse\"\n                          },\n                          \"name\": \"reverse\"\n                        },\n                        \"consequent\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7813,\n                          \"end\": 7819,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 274,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 274,\n                              \"column\": 37\n                            },\n                            \"identifierName\": \"b_in_a\"\n                          },\n                          \"name\": \"b_in_a\"\n                        },\n                        \"alternate\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7822,\n                          \"end\": 7828,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 274,\n                              \"column\": 40\n                            },\n                            \"end\": {\n                              \"line\": 274,\n                              \"column\": 46\n                            },\n                            \"identifierName\": \"a_in_b\"\n                          },\n                          \"name\": \"a_in_b\"\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 7832,\n                    \"end\": 7877,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 275,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 275,\n                        \"column\": 47\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 7832,\n                      \"end\": 7876,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 275,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 275,\n                          \"column\": 46\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 7832,\n                        \"end\": 7845,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 275,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 275,\n                            \"column\": 15\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7832,\n                          \"end\": 7838,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 275,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 275,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7839,\n                          \"end\": 7845,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 275,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 275,\n                              \"column\": 15\n                            },\n                            \"identifierName\": \"b_in_a\"\n                          },\n                          \"name\": \"b_in_a\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"ConditionalExpression\",\n                        \"start\": 7851,\n                        \"end\": 7876,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 275,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 275,\n                            \"column\": 46\n                          }\n                        },\n                        \"test\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7851,\n                          \"end\": 7858,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 275,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 275,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"reverse\"\n                          },\n                          \"name\": \"reverse\"\n                        },\n                        \"consequent\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7861,\n                          \"end\": 7867,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 275,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 275,\n                              \"column\": 37\n                            },\n                            \"identifierName\": \"a_in_b\"\n                          },\n                          \"name\": \"a_in_b\"\n                        },\n                        \"alternate\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7870,\n                          \"end\": 7876,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 275,\n                              \"column\": 40\n                            },\n                            \"end\": {\n                              \"line\": 275,\n                              \"column\": 46\n                            },\n                            \"identifierName\": \"b_in_a\"\n                          },\n                          \"name\": \"b_in_a\"\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 7880,\n                    \"end\": 7907,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 276,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 276,\n                        \"column\": 29\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 7880,\n                      \"end\": 7906,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 276,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 276,\n                          \"column\": 28\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 7880,\n                        \"end\": 7894,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 276,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 276,\n                            \"column\": 16\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7880,\n                          \"end\": 7886,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 276,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 276,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7887,\n                          \"end\": 7894,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 276,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 276,\n                              \"column\": 16\n                            },\n                            \"identifierName\": \"overlap\"\n                          },\n                          \"name\": \"overlap\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 7899,\n                        \"end\": 7906,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 276,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 276,\n                            \"column\": 28\n                          },\n                          \"identifierName\": \"overlap\"\n                        },\n                        \"name\": \"overlap\"\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 7910,\n                    \"end\": 7962,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 277,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 277,\n                        \"column\": 54\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 7910,\n                      \"end\": 7961,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 277,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 277,\n                          \"column\": 53\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 7910,\n                        \"end\": 7926,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 277,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 277,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7910,\n                          \"end\": 7916,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 277,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 277,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7917,\n                          \"end\": 7926,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 277,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 277,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"overlap_x\"\n                          },\n                          \"name\": \"overlap_x\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"ConditionalExpression\",\n                        \"start\": 7929,\n                        \"end\": 7961,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 277,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 277,\n                            \"column\": 53\n                          }\n                        },\n                        \"test\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7929,\n                          \"end\": 7936,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 277,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 277,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"reverse\"\n                          },\n                          \"name\": \"reverse\"\n                        },\n                        \"consequent\": {\n                          \"type\": \"UnaryExpression\",\n                          \"start\": 7939,\n                          \"end\": 7949,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 277,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 277,\n                              \"column\": 41\n                            }\n                          },\n                          \"operator\": \"-\",\n                          \"prefix\": true,\n                          \"argument\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 7940,\n                            \"end\": 7949,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 277,\n                                \"column\": 32\n                              },\n                              \"end\": {\n                                \"line\": 277,\n                                \"column\": 41\n                              },\n                              \"identifierName\": \"overlap_x\"\n                            },\n                            \"name\": \"overlap_x\"\n                          },\n                          \"extra\": {\n                            \"parenthesizedArgument\": false\n                          }\n                        },\n                        \"alternate\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7952,\n                          \"end\": 7961,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 277,\n                              \"column\": 44\n                            },\n                            \"end\": {\n                              \"line\": 277,\n                              \"column\": 53\n                            },\n                            \"identifierName\": \"overlap_x\"\n                          },\n                          \"name\": \"overlap_x\"\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 7965,\n                    \"end\": 8017,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 278,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 278,\n                        \"column\": 54\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 7965,\n                      \"end\": 8016,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 278,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 278,\n                          \"column\": 53\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 7965,\n                        \"end\": 7981,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 278,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 278,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7965,\n                          \"end\": 7971,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 278,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 278,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7972,\n                          \"end\": 7981,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 278,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 278,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"overlap_y\"\n                          },\n                          \"name\": \"overlap_y\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"ConditionalExpression\",\n                        \"start\": 7984,\n                        \"end\": 8016,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 278,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 278,\n                            \"column\": 53\n                          }\n                        },\n                        \"test\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 7984,\n                          \"end\": 7991,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 278,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 278,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"reverse\"\n                          },\n                          \"name\": \"reverse\"\n                        },\n                        \"consequent\": {\n                          \"type\": \"UnaryExpression\",\n                          \"start\": 7994,\n                          \"end\": 8004,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 278,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 278,\n                              \"column\": 41\n                            }\n                          },\n                          \"operator\": \"-\",\n                          \"prefix\": true,\n                          \"argument\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 7995,\n                            \"end\": 8004,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 278,\n                                \"column\": 32\n                              },\n                              \"end\": {\n                                \"line\": 278,\n                                \"column\": 41\n                              },\n                              \"identifierName\": \"overlap_y\"\n                            },\n                            \"name\": \"overlap_y\"\n                          },\n                          \"extra\": {\n                            \"parenthesizedArgument\": false\n                          }\n                        },\n                        \"alternate\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8007,\n                          \"end\": 8016,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 278,\n                              \"column\": 44\n                            },\n                            \"end\": {\n                              \"line\": 278,\n                              \"column\": 53\n                            },\n                            \"identifierName\": \"overlap_y\"\n                          },\n                          \"name\": \"overlap_y\"\n                        }\n                      }\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"ReturnStatement\",\n              \"start\": 8023,\n              \"end\": 8035,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 281,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 281,\n                  \"column\": 13\n                }\n              },\n              \"argument\": {\n                \"type\": \"BooleanLiteral\",\n                \"start\": 8030,\n                \"end\": 8034,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 281,\n                    \"column\": 8\n                  },\n                  \"end\": {\n                    \"line\": 281,\n                    \"column\": 12\n                  }\n                },\n                \"value\": true\n              }\n            }\n          ],\n          \"directives\": [],\n          \"trailingComments\": null\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if a polygon and a circle are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\\n * @returns {Boolean}\\n \",\n            \"start\": 4001,\n            \"end\": 4438,\n            \"loc\": {\n              \"start\": {\n                \"line\": 150,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 157,\n                \"column\": 3\n              }\n            }\n          }\n        ],\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two circles are colliding\\n * @param {Circle} a The source circle to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n            \"start\": 8039,\n            \"end\": 8314,\n            \"loc\": {\n              \"start\": {\n                \"line\": 284,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 290,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"FunctionDeclaration\",\n        \"start\": 8315,\n        \"end\": 9075,\n        \"loc\": {\n          \"start\": {\n            \"line\": 291,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 314,\n            \"column\": 1\n          }\n        },\n        \"id\": {\n          \"type\": \"Identifier\",\n          \"start\": 8324,\n          \"end\": 8336,\n          \"loc\": {\n            \"start\": {\n              \"line\": 291,\n              \"column\": 9\n            },\n            \"end\": {\n              \"line\": 291,\n              \"column\": 21\n            },\n            \"identifierName\": \"circleCircle\"\n          },\n          \"name\": \"circleCircle\",\n          \"leadingComments\": null\n        },\n        \"generator\": false,\n        \"expression\": false,\n        \"async\": false,\n        \"params\": [\n          {\n            \"type\": \"Identifier\",\n            \"start\": 8337,\n            \"end\": 8338,\n            \"loc\": {\n              \"start\": {\n                \"line\": 291,\n                \"column\": 22\n              },\n              \"end\": {\n                \"line\": 291,\n                \"column\": 23\n              },\n              \"identifierName\": \"a\"\n            },\n            \"name\": \"a\"\n          },\n          {\n            \"type\": \"Identifier\",\n            \"start\": 8340,\n            \"end\": 8341,\n            \"loc\": {\n              \"start\": {\n                \"line\": 291,\n                \"column\": 25\n              },\n              \"end\": {\n                \"line\": 291,\n                \"column\": 26\n              },\n              \"identifierName\": \"b\"\n            },\n            \"name\": \"b\"\n          },\n          {\n            \"type\": \"AssignmentPattern\",\n            \"start\": 8343,\n            \"end\": 8356,\n            \"loc\": {\n              \"start\": {\n                \"line\": 291,\n                \"column\": 28\n              },\n              \"end\": {\n                \"line\": 291,\n                \"column\": 41\n              }\n            },\n            \"left\": {\n              \"type\": \"Identifier\",\n              \"start\": 8343,\n              \"end\": 8349,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 291,\n                  \"column\": 28\n                },\n                \"end\": {\n                  \"line\": 291,\n                  \"column\": 34\n                },\n                \"identifierName\": \"result\"\n              },\n              \"name\": \"result\"\n            },\n            \"right\": {\n              \"type\": \"NullLiteral\",\n              \"start\": 8352,\n              \"end\": 8356,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 291,\n                  \"column\": 37\n                },\n                \"end\": {\n                  \"line\": 291,\n                  \"column\": 41\n                }\n              }\n            }\n          }\n        ],\n        \"body\": {\n          \"type\": \"BlockStatement\",\n          \"start\": 8358,\n          \"end\": 9075,\n          \"loc\": {\n            \"start\": {\n              \"line\": 291,\n              \"column\": 43\n            },\n            \"end\": {\n              \"line\": 314,\n              \"column\": 1\n            }\n          },\n          \"body\": [\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 8361,\n              \"end\": 8403,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 292,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 292,\n                  \"column\": 43\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 8367,\n                  \"end\": 8402,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 292,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 292,\n                      \"column\": 42\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8367,\n                    \"end\": 8375,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 292,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 292,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"a_radius\"\n                    },\n                    \"name\": \"a_radius\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 8384,\n                    \"end\": 8402,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 292,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 292,\n                        \"column\": 42\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8384,\n                      \"end\": 8392,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 292,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 292,\n                          \"column\": 32\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8384,\n                        \"end\": 8385,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 292,\n                            \"column\": 24\n                          },\n                          \"end\": {\n                            \"line\": 292,\n                            \"column\": 25\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8386,\n                        \"end\": 8392,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 292,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 292,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"radius\"\n                        },\n                        \"name\": \"radius\"\n                      },\n                      \"computed\": false\n                    },\n                    \"operator\": \"*\",\n                    \"right\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8395,\n                      \"end\": 8402,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 292,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 292,\n                          \"column\": 42\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8395,\n                        \"end\": 8396,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 292,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 292,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8397,\n                        \"end\": 8402,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 292,\n                            \"column\": 37\n                          },\n                          \"end\": {\n                            \"line\": 292,\n                            \"column\": 42\n                          },\n                          \"identifierName\": \"scale\"\n                        },\n                        \"name\": \"scale\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 8405,\n              \"end\": 8447,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 293,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 293,\n                  \"column\": 43\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 8411,\n                  \"end\": 8446,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 293,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 293,\n                      \"column\": 42\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8411,\n                    \"end\": 8419,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 293,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 293,\n                        \"column\": 15\n                      },\n                      \"identifierName\": \"b_radius\"\n                    },\n                    \"name\": \"b_radius\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 8428,\n                    \"end\": 8446,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 293,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 293,\n                        \"column\": 42\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8428,\n                      \"end\": 8436,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 293,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 293,\n                          \"column\": 32\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8428,\n                        \"end\": 8429,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 293,\n                            \"column\": 24\n                          },\n                          \"end\": {\n                            \"line\": 293,\n                            \"column\": 25\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8430,\n                        \"end\": 8436,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 293,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 293,\n                            \"column\": 32\n                          },\n                          \"identifierName\": \"radius\"\n                        },\n                        \"name\": \"radius\"\n                      },\n                      \"computed\": false\n                    },\n                    \"operator\": \"*\",\n                    \"right\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8439,\n                      \"end\": 8446,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 293,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 293,\n                          \"column\": 42\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8439,\n                        \"end\": 8440,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 293,\n                            \"column\": 35\n                          },\n                          \"end\": {\n                            \"line\": 293,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8441,\n                        \"end\": 8446,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 293,\n                            \"column\": 37\n                          },\n                          \"end\": {\n                            \"line\": 293,\n                            \"column\": 42\n                          },\n                          \"identifierName\": \"scale\"\n                        },\n                        \"name\": \"scale\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 8449,\n              \"end\": 8482,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 294,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 294,\n                  \"column\": 34\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 8455,\n                  \"end\": 8481,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 294,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 294,\n                      \"column\": 33\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8455,\n                    \"end\": 8467,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 294,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 294,\n                        \"column\": 19\n                      },\n                      \"identifierName\": \"difference_x\"\n                    },\n                    \"name\": \"difference_x\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 8472,\n                    \"end\": 8481,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 294,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 294,\n                        \"column\": 33\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8472,\n                      \"end\": 8475,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 294,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 294,\n                          \"column\": 27\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8472,\n                        \"end\": 8473,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 294,\n                            \"column\": 24\n                          },\n                          \"end\": {\n                            \"line\": 294,\n                            \"column\": 25\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8474,\n                        \"end\": 8475,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 294,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 294,\n                            \"column\": 27\n                          },\n                          \"identifierName\": \"x\"\n                        },\n                        \"name\": \"x\"\n                      },\n                      \"computed\": false\n                    },\n                    \"operator\": \"-\",\n                    \"right\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8478,\n                      \"end\": 8481,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 294,\n                          \"column\": 30\n                        },\n                        \"end\": {\n                          \"line\": 294,\n                          \"column\": 33\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8478,\n                        \"end\": 8479,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 294,\n                            \"column\": 30\n                          },\n                          \"end\": {\n                            \"line\": 294,\n                            \"column\": 31\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8480,\n                        \"end\": 8481,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 294,\n                            \"column\": 32\n                          },\n                          \"end\": {\n                            \"line\": 294,\n                            \"column\": 33\n                          },\n                          \"identifierName\": \"x\"\n                        },\n                        \"name\": \"x\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 8484,\n              \"end\": 8517,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 295,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 295,\n                  \"column\": 34\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 8490,\n                  \"end\": 8516,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 295,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 295,\n                      \"column\": 33\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8490,\n                    \"end\": 8502,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 295,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 295,\n                        \"column\": 19\n                      },\n                      \"identifierName\": \"difference_y\"\n                    },\n                    \"name\": \"difference_y\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 8507,\n                    \"end\": 8516,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 295,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 295,\n                        \"column\": 33\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8507,\n                      \"end\": 8510,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 295,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 295,\n                          \"column\": 27\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8507,\n                        \"end\": 8508,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 295,\n                            \"column\": 24\n                          },\n                          \"end\": {\n                            \"line\": 295,\n                            \"column\": 25\n                          },\n                          \"identifierName\": \"b\"\n                        },\n                        \"name\": \"b\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8509,\n                        \"end\": 8510,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 295,\n                            \"column\": 26\n                          },\n                          \"end\": {\n                            \"line\": 295,\n                            \"column\": 27\n                          },\n                          \"identifierName\": \"y\"\n                        },\n                        \"name\": \"y\"\n                      },\n                      \"computed\": false\n                    },\n                    \"operator\": \"-\",\n                    \"right\": {\n                      \"type\": \"MemberExpression\",\n                      \"start\": 8513,\n                      \"end\": 8516,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 295,\n                          \"column\": 30\n                        },\n                        \"end\": {\n                          \"line\": 295,\n                          \"column\": 33\n                        }\n                      },\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8513,\n                        \"end\": 8514,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 295,\n                            \"column\": 30\n                          },\n                          \"end\": {\n                            \"line\": 295,\n                            \"column\": 31\n                          },\n                          \"identifierName\": \"a\"\n                        },\n                        \"name\": \"a\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8515,\n                        \"end\": 8516,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 295,\n                            \"column\": 32\n                          },\n                          \"end\": {\n                            \"line\": 295,\n                            \"column\": 33\n                          },\n                          \"identifierName\": \"y\"\n                        },\n                        \"name\": \"y\"\n                      },\n                      \"computed\": false\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 8519,\n              \"end\": 8562,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 296,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 296,\n                  \"column\": 44\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 8525,\n                  \"end\": 8561,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 296,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 296,\n                      \"column\": 43\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8525,\n                    \"end\": 8535,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 296,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 296,\n                        \"column\": 17\n                      },\n                      \"identifierName\": \"radius_sum\"\n                    },\n                    \"name\": \"radius_sum\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 8542,\n                    \"end\": 8561,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 296,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 296,\n                        \"column\": 43\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 8542,\n                      \"end\": 8550,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 296,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 296,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"a_radius\"\n                      },\n                      \"name\": \"a_radius\"\n                    },\n                    \"operator\": \"+\",\n                    \"right\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 8553,\n                      \"end\": 8561,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 296,\n                          \"column\": 35\n                        },\n                        \"end\": {\n                          \"line\": 296,\n                          \"column\": 43\n                        },\n                        \"identifierName\": \"b_radius\"\n                      },\n                      \"name\": \"b_radius\"\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 8564,\n              \"end\": 8645,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 297,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 297,\n                  \"column\": 82\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 8570,\n                  \"end\": 8644,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 297,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 297,\n                      \"column\": 81\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8570,\n                    \"end\": 8584,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 297,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 297,\n                        \"column\": 21\n                      },\n                      \"identifierName\": \"length_squared\"\n                    },\n                    \"name\": \"length_squared\"\n                  },\n                  \"init\": {\n                    \"type\": \"BinaryExpression\",\n                    \"start\": 8587,\n                    \"end\": 8644,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 297,\n                        \"column\": 24\n                      },\n                      \"end\": {\n                        \"line\": 297,\n                        \"column\": 81\n                      }\n                    },\n                    \"left\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 8587,\n                      \"end\": 8614,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 297,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 297,\n                          \"column\": 51\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8587,\n                        \"end\": 8599,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 297,\n                            \"column\": 24\n                          },\n                          \"end\": {\n                            \"line\": 297,\n                            \"column\": 36\n                          },\n                          \"identifierName\": \"difference_x\"\n                        },\n                        \"name\": \"difference_x\"\n                      },\n                      \"operator\": \"*\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8602,\n                        \"end\": 8614,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 297,\n                            \"column\": 39\n                          },\n                          \"end\": {\n                            \"line\": 297,\n                            \"column\": 51\n                          },\n                          \"identifierName\": \"difference_x\"\n                        },\n                        \"name\": \"difference_x\"\n                      }\n                    },\n                    \"operator\": \"+\",\n                    \"right\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 8617,\n                      \"end\": 8644,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 297,\n                          \"column\": 54\n                        },\n                        \"end\": {\n                          \"line\": 297,\n                          \"column\": 81\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8617,\n                        \"end\": 8629,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 297,\n                            \"column\": 54\n                          },\n                          \"end\": {\n                            \"line\": 297,\n                            \"column\": 66\n                          },\n                          \"identifierName\": \"difference_y\"\n                        },\n                        \"name\": \"difference_y\"\n                      },\n                      \"operator\": \"*\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 8632,\n                        \"end\": 8644,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 297,\n                            \"column\": 69\n                          },\n                          \"end\": {\n                            \"line\": 297,\n                            \"column\": 81\n                          },\n                          \"identifierName\": \"difference_y\"\n                        },\n                        \"name\": \"difference_y\"\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 8648,\n              \"end\": 8713,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 299,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 301,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"BinaryExpression\",\n                \"start\": 8651,\n                \"end\": 8691,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 299,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 299,\n                    \"column\": 44\n                  }\n                },\n                \"left\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 8651,\n                  \"end\": 8665,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 299,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 299,\n                      \"column\": 18\n                    },\n                    \"identifierName\": \"length_squared\"\n                  },\n                  \"name\": \"length_squared\"\n                },\n                \"operator\": \">\",\n                \"right\": {\n                  \"type\": \"BinaryExpression\",\n                  \"start\": 8668,\n                  \"end\": 8691,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 299,\n                      \"column\": 21\n                    },\n                    \"end\": {\n                      \"line\": 299,\n                      \"column\": 44\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8668,\n                    \"end\": 8678,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 299,\n                        \"column\": 21\n                      },\n                      \"end\": {\n                        \"line\": 299,\n                        \"column\": 31\n                      },\n                      \"identifierName\": \"radius_sum\"\n                    },\n                    \"name\": \"radius_sum\"\n                  },\n                  \"operator\": \"*\",\n                  \"right\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 8681,\n                    \"end\": 8691,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 299,\n                        \"column\": 34\n                      },\n                      \"end\": {\n                        \"line\": 299,\n                        \"column\": 44\n                      },\n                      \"identifierName\": \"radius_sum\"\n                    },\n                    \"name\": \"radius_sum\"\n                  }\n                }\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 8693,\n                \"end\": 8713,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 299,\n                    \"column\": 46\n                  },\n                  \"end\": {\n                    \"line\": 301,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 8697,\n                    \"end\": 8710,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 300,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 300,\n                        \"column\": 15\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 8704,\n                      \"end\": 8709,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 300,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 300,\n                          \"column\": 14\n                        }\n                      },\n                      \"value\": false\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 8716,\n              \"end\": 9058,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 303,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 311,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"Identifier\",\n                \"start\": 8719,\n                \"end\": 8725,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 303,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 303,\n                    \"column\": 10\n                  },\n                  \"identifierName\": \"result\"\n                },\n                \"name\": \"result\"\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 8727,\n                \"end\": 9058,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 303,\n                    \"column\": 12\n                  },\n                  \"end\": {\n                    \"line\": 311,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 8731,\n                    \"end\": 8772,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 304,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 304,\n                        \"column\": 43\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 8737,\n                        \"end\": 8771,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 304,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 304,\n                            \"column\": 42\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8737,\n                          \"end\": 8743,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 304,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 304,\n                              \"column\": 14\n                            },\n                            \"identifierName\": \"length\"\n                          },\n                          \"name\": \"length\"\n                        },\n                        \"init\": {\n                          \"type\": \"CallExpression\",\n                          \"start\": 8746,\n                          \"end\": 8771,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 304,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 304,\n                              \"column\": 42\n                            }\n                          },\n                          \"callee\": {\n                            \"type\": \"MemberExpression\",\n                            \"start\": 8746,\n                            \"end\": 8755,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 304,\n                                \"column\": 17\n                              },\n                              \"end\": {\n                                \"line\": 304,\n                                \"column\": 26\n                              }\n                            },\n                            \"object\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8746,\n                              \"end\": 8750,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 304,\n                                  \"column\": 17\n                                },\n                                \"end\": {\n                                  \"line\": 304,\n                                  \"column\": 21\n                                },\n                                \"identifierName\": \"Math\"\n                              },\n                              \"name\": \"Math\"\n                            },\n                            \"property\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8751,\n                              \"end\": 8755,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 304,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 304,\n                                  \"column\": 26\n                                },\n                                \"identifierName\": \"sqrt\"\n                              },\n                              \"name\": \"sqrt\"\n                            },\n                            \"computed\": false\n                          },\n                          \"arguments\": [\n                            {\n                              \"type\": \"Identifier\",\n                              \"start\": 8756,\n                              \"end\": 8770,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 304,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 304,\n                                  \"column\": 41\n                                },\n                                \"identifierName\": \"length_squared\"\n                              },\n                              \"name\": \"length_squared\"\n                            }\n                          ]\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 8776,\n                    \"end\": 8849,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 306,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 306,\n                        \"column\": 75\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 8776,\n                      \"end\": 8848,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 306,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 306,\n                          \"column\": 74\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 8776,\n                        \"end\": 8789,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 306,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 306,\n                            \"column\": 15\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8776,\n                          \"end\": 8782,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 306,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 306,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8783,\n                          \"end\": 8789,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 306,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 306,\n                              \"column\": 15\n                            },\n                            \"identifierName\": \"a_in_b\"\n                          },\n                          \"name\": \"a_in_b\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 8795,\n                        \"end\": 8848,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 306,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 306,\n                            \"column\": 74\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 8795,\n                          \"end\": 8815,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 306,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 306,\n                              \"column\": 41\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8795,\n                            \"end\": 8803,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 306,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 306,\n                                \"column\": 29\n                              },\n                              \"identifierName\": \"a_radius\"\n                            },\n                            \"name\": \"a_radius\"\n                          },\n                          \"operator\": \"<=\",\n                          \"right\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8807,\n                            \"end\": 8815,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 306,\n                                \"column\": 33\n                              },\n                              \"end\": {\n                                \"line\": 306,\n                                \"column\": 41\n                              },\n                              \"identifierName\": \"b_radius\"\n                            },\n                            \"name\": \"b_radius\"\n                          }\n                        },\n                        \"operator\": \"&&\",\n                        \"right\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 8819,\n                          \"end\": 8848,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 306,\n                              \"column\": 45\n                            },\n                            \"end\": {\n                              \"line\": 306,\n                              \"column\": 74\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8819,\n                            \"end\": 8825,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 306,\n                                \"column\": 45\n                              },\n                              \"end\": {\n                                \"line\": 306,\n                                \"column\": 51\n                              },\n                              \"identifierName\": \"length\"\n                            },\n                            \"name\": \"length\"\n                          },\n                          \"operator\": \"<=\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 8829,\n                            \"end\": 8848,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 306,\n                                \"column\": 55\n                              },\n                              \"end\": {\n                                \"line\": 306,\n                                \"column\": 74\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8829,\n                              \"end\": 8837,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 306,\n                                  \"column\": 55\n                                },\n                                \"end\": {\n                                  \"line\": 306,\n                                  \"column\": 63\n                                },\n                                \"identifierName\": \"b_radius\"\n                              },\n                              \"name\": \"b_radius\"\n                            },\n                            \"operator\": \"-\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8840,\n                              \"end\": 8848,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 306,\n                                  \"column\": 66\n                                },\n                                \"end\": {\n                                  \"line\": 306,\n                                  \"column\": 74\n                                },\n                                \"identifierName\": \"a_radius\"\n                              },\n                              \"name\": \"a_radius\"\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 8852,\n                    \"end\": 8925,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 307,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 307,\n                        \"column\": 75\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 8852,\n                      \"end\": 8924,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 307,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 307,\n                          \"column\": 74\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 8852,\n                        \"end\": 8865,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 307,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 307,\n                            \"column\": 15\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8852,\n                          \"end\": 8858,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 307,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 307,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8859,\n                          \"end\": 8865,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 307,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 307,\n                              \"column\": 15\n                            },\n                            \"identifierName\": \"b_in_a\"\n                          },\n                          \"name\": \"b_in_a\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"LogicalExpression\",\n                        \"start\": 8871,\n                        \"end\": 8924,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 307,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 307,\n                            \"column\": 74\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 8871,\n                          \"end\": 8891,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 307,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 307,\n                              \"column\": 41\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8871,\n                            \"end\": 8879,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 307,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 307,\n                                \"column\": 29\n                              },\n                              \"identifierName\": \"b_radius\"\n                            },\n                            \"name\": \"b_radius\"\n                          },\n                          \"operator\": \"<=\",\n                          \"right\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8883,\n                            \"end\": 8891,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 307,\n                                \"column\": 33\n                              },\n                              \"end\": {\n                                \"line\": 307,\n                                \"column\": 41\n                              },\n                              \"identifierName\": \"a_radius\"\n                            },\n                            \"name\": \"a_radius\"\n                          }\n                        },\n                        \"operator\": \"&&\",\n                        \"right\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 8895,\n                          \"end\": 8924,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 307,\n                              \"column\": 45\n                            },\n                            \"end\": {\n                              \"line\": 307,\n                              \"column\": 74\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 8895,\n                            \"end\": 8901,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 307,\n                                \"column\": 45\n                              },\n                              \"end\": {\n                                \"line\": 307,\n                                \"column\": 51\n                              },\n                              \"identifierName\": \"length\"\n                            },\n                            \"name\": \"length\"\n                          },\n                          \"operator\": \"<=\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 8905,\n                            \"end\": 8924,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 307,\n                                \"column\": 55\n                              },\n                              \"end\": {\n                                \"line\": 307,\n                                \"column\": 74\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8905,\n                              \"end\": 8913,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 307,\n                                  \"column\": 55\n                                },\n                                \"end\": {\n                                  \"line\": 307,\n                                  \"column\": 63\n                                },\n                                \"identifierName\": \"a_radius\"\n                              },\n                              \"name\": \"a_radius\"\n                            },\n                            \"operator\": \"-\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 8916,\n                              \"end\": 8924,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 307,\n                                  \"column\": 66\n                                },\n                                \"end\": {\n                                  \"line\": 307,\n                                  \"column\": 74\n                                },\n                                \"identifierName\": \"b_radius\"\n                              },\n                              \"name\": \"b_radius\"\n                            }\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 8928,\n                    \"end\": 8967,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 308,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 308,\n                        \"column\": 41\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 8928,\n                      \"end\": 8966,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 308,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 308,\n                          \"column\": 40\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 8928,\n                        \"end\": 8942,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 308,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 308,\n                            \"column\": 16\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8928,\n                          \"end\": 8934,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 308,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 308,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8935,\n                          \"end\": 8942,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 308,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 308,\n                              \"column\": 16\n                            },\n                            \"identifierName\": \"overlap\"\n                          },\n                          \"name\": \"overlap\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 8947,\n                        \"end\": 8966,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 308,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 308,\n                            \"column\": 40\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8947,\n                          \"end\": 8957,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 308,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 308,\n                              \"column\": 31\n                            },\n                            \"identifierName\": \"radius_sum\"\n                          },\n                          \"name\": \"radius_sum\"\n                        },\n                        \"operator\": \"-\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8960,\n                          \"end\": 8966,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 308,\n                              \"column\": 34\n                            },\n                            \"end\": {\n                              \"line\": 308,\n                              \"column\": 40\n                            },\n                            \"identifierName\": \"length\"\n                          },\n                          \"name\": \"length\"\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 8970,\n                    \"end\": 9011,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 309,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 309,\n                        \"column\": 43\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 8970,\n                      \"end\": 9010,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 309,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 309,\n                          \"column\": 42\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 8970,\n                        \"end\": 8986,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 309,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 309,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8970,\n                          \"end\": 8976,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 309,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 309,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8977,\n                          \"end\": 8986,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 309,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 309,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"overlap_x\"\n                          },\n                          \"name\": \"overlap_x\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 8989,\n                        \"end\": 9010,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 309,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 309,\n                            \"column\": 42\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 8989,\n                          \"end\": 9001,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 309,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 309,\n                              \"column\": 33\n                            },\n                            \"identifierName\": \"difference_x\"\n                          },\n                          \"name\": \"difference_x\"\n                        },\n                        \"operator\": \"/\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9004,\n                          \"end\": 9010,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 309,\n                              \"column\": 36\n                            },\n                            \"end\": {\n                              \"line\": 309,\n                              \"column\": 42\n                            },\n                            \"identifierName\": \"length\"\n                          },\n                          \"name\": \"length\"\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"type\": \"ExpressionStatement\",\n                    \"start\": 9014,\n                    \"end\": 9055,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 310,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 310,\n                        \"column\": 43\n                      }\n                    },\n                    \"expression\": {\n                      \"type\": \"AssignmentExpression\",\n                      \"start\": 9014,\n                      \"end\": 9054,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 310,\n                          \"column\": 2\n                        },\n                        \"end\": {\n                          \"line\": 310,\n                          \"column\": 42\n                        }\n                      },\n                      \"operator\": \"=\",\n                      \"left\": {\n                        \"type\": \"MemberExpression\",\n                        \"start\": 9014,\n                        \"end\": 9030,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 310,\n                            \"column\": 2\n                          },\n                          \"end\": {\n                            \"line\": 310,\n                            \"column\": 18\n                          }\n                        },\n                        \"object\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9014,\n                          \"end\": 9020,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 310,\n                              \"column\": 2\n                            },\n                            \"end\": {\n                              \"line\": 310,\n                              \"column\": 8\n                            },\n                            \"identifierName\": \"result\"\n                          },\n                          \"name\": \"result\"\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9021,\n                          \"end\": 9030,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 310,\n                              \"column\": 9\n                            },\n                            \"end\": {\n                              \"line\": 310,\n                              \"column\": 18\n                            },\n                            \"identifierName\": \"overlap_y\"\n                          },\n                          \"name\": \"overlap_y\"\n                        },\n                        \"computed\": false\n                      },\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 9033,\n                        \"end\": 9054,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 310,\n                            \"column\": 21\n                          },\n                          \"end\": {\n                            \"line\": 310,\n                            \"column\": 42\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9033,\n                          \"end\": 9045,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 310,\n                              \"column\": 21\n                            },\n                            \"end\": {\n                              \"line\": 310,\n                              \"column\": 33\n                            },\n                            \"identifierName\": \"difference_y\"\n                          },\n                          \"name\": \"difference_y\"\n                        },\n                        \"operator\": \"/\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9048,\n                          \"end\": 9054,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 310,\n                              \"column\": 36\n                            },\n                            \"end\": {\n                              \"line\": 310,\n                              \"column\": 42\n                            },\n                            \"identifierName\": \"length\"\n                          },\n                          \"name\": \"length\"\n                        }\n                      }\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"ReturnStatement\",\n              \"start\": 9061,\n              \"end\": 9073,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 313,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 313,\n                  \"column\": 13\n                }\n              },\n              \"argument\": {\n                \"type\": \"BooleanLiteral\",\n                \"start\": 9068,\n                \"end\": 9072,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 313,\n                    \"column\": 8\n                  },\n                  \"end\": {\n                    \"line\": 313,\n                    \"column\": 12\n                  }\n                },\n                \"value\": true\n              }\n            }\n          ],\n          \"directives\": [],\n          \"trailingComments\": null\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two circles are colliding\\n * @param {Circle} a The source circle to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n            \"start\": 8039,\n            \"end\": 8314,\n            \"loc\": {\n              \"start\": {\n                \"line\": 284,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 290,\n                \"column\": 3\n              }\n            }\n          }\n        ],\n        \"trailingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two polygons are separated by an axis\\n * @param {Array<Number[]>} a_coords The coordinates of the polygon to test\\n * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against\\n * @param {Number} x The X direction of the axis\\n * @param {Number} y The Y direction of the axis\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n            \"start\": 9077,\n            \"end\": 9520,\n            \"loc\": {\n              \"start\": {\n                \"line\": 316,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 324,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      },\n      {\n        \"type\": \"FunctionDeclaration\",\n        \"start\": 9521,\n        \"end\": 11273,\n        \"loc\": {\n          \"start\": {\n            \"line\": 325,\n            \"column\": 0\n          },\n          \"end\": {\n            \"line\": 411,\n            \"column\": 1\n          }\n        },\n        \"id\": {\n          \"type\": \"Identifier\",\n          \"start\": 9530,\n          \"end\": 9544,\n          \"loc\": {\n            \"start\": {\n              \"line\": 325,\n              \"column\": 9\n            },\n            \"end\": {\n              \"line\": 325,\n              \"column\": 23\n            },\n            \"identifierName\": \"separatingAxis\"\n          },\n          \"name\": \"separatingAxis\",\n          \"leadingComments\": null\n        },\n        \"generator\": false,\n        \"expression\": false,\n        \"async\": false,\n        \"params\": [\n          {\n            \"type\": \"Identifier\",\n            \"start\": 9545,\n            \"end\": 9553,\n            \"loc\": {\n              \"start\": {\n                \"line\": 325,\n                \"column\": 24\n              },\n              \"end\": {\n                \"line\": 325,\n                \"column\": 32\n              },\n              \"identifierName\": \"a_coords\"\n            },\n            \"name\": \"a_coords\"\n          },\n          {\n            \"type\": \"Identifier\",\n            \"start\": 9555,\n            \"end\": 9563,\n            \"loc\": {\n              \"start\": {\n                \"line\": 325,\n                \"column\": 34\n              },\n              \"end\": {\n                \"line\": 325,\n                \"column\": 42\n              },\n              \"identifierName\": \"b_coords\"\n            },\n            \"name\": \"b_coords\"\n          },\n          {\n            \"type\": \"Identifier\",\n            \"start\": 9565,\n            \"end\": 9566,\n            \"loc\": {\n              \"start\": {\n                \"line\": 325,\n                \"column\": 44\n              },\n              \"end\": {\n                \"line\": 325,\n                \"column\": 45\n              },\n              \"identifierName\": \"x\"\n            },\n            \"name\": \"x\"\n          },\n          {\n            \"type\": \"Identifier\",\n            \"start\": 9568,\n            \"end\": 9569,\n            \"loc\": {\n              \"start\": {\n                \"line\": 325,\n                \"column\": 47\n              },\n              \"end\": {\n                \"line\": 325,\n                \"column\": 48\n              },\n              \"identifierName\": \"y\"\n            },\n            \"name\": \"y\"\n          },\n          {\n            \"type\": \"AssignmentPattern\",\n            \"start\": 9571,\n            \"end\": 9584,\n            \"loc\": {\n              \"start\": {\n                \"line\": 325,\n                \"column\": 50\n              },\n              \"end\": {\n                \"line\": 325,\n                \"column\": 63\n              }\n            },\n            \"left\": {\n              \"type\": \"Identifier\",\n              \"start\": 9571,\n              \"end\": 9577,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 325,\n                  \"column\": 50\n                },\n                \"end\": {\n                  \"line\": 325,\n                  \"column\": 56\n                },\n                \"identifierName\": \"result\"\n              },\n              \"name\": \"result\"\n            },\n            \"right\": {\n              \"type\": \"NullLiteral\",\n              \"start\": 9580,\n              \"end\": 9584,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 325,\n                  \"column\": 59\n                },\n                \"end\": {\n                  \"line\": 325,\n                  \"column\": 63\n                }\n              }\n            }\n          }\n        ],\n        \"body\": {\n          \"type\": \"BlockStatement\",\n          \"start\": 9586,\n          \"end\": 11273,\n          \"loc\": {\n            \"start\": {\n              \"line\": 325,\n              \"column\": 65\n            },\n            \"end\": {\n              \"line\": 411,\n              \"column\": 1\n            }\n          },\n          \"body\": [\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 9589,\n              \"end\": 9621,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 326,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 326,\n                  \"column\": 33\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 9595,\n                  \"end\": 9620,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 326,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 326,\n                      \"column\": 32\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9595,\n                    \"end\": 9602,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 326,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 326,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"a_count\"\n                    },\n                    \"name\": \"a_count\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 9605,\n                    \"end\": 9620,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 326,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 326,\n                        \"column\": 32\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9605,\n                      \"end\": 9613,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 326,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 326,\n                          \"column\": 25\n                        },\n                        \"identifierName\": \"a_coords\"\n                      },\n                      \"name\": \"a_coords\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9614,\n                      \"end\": 9620,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 326,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 326,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"length\"\n                      },\n                      \"name\": \"length\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 9623,\n              \"end\": 9655,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 327,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 327,\n                  \"column\": 33\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 9629,\n                  \"end\": 9654,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 327,\n                      \"column\": 7\n                    },\n                    \"end\": {\n                      \"line\": 327,\n                      \"column\": 32\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9629,\n                    \"end\": 9636,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 327,\n                        \"column\": 7\n                      },\n                      \"end\": {\n                        \"line\": 327,\n                        \"column\": 14\n                      },\n                      \"identifierName\": \"b_count\"\n                    },\n                    \"name\": \"b_count\"\n                  },\n                  \"init\": {\n                    \"type\": \"MemberExpression\",\n                    \"start\": 9639,\n                    \"end\": 9654,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 327,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 327,\n                        \"column\": 32\n                      }\n                    },\n                    \"object\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9639,\n                      \"end\": 9647,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 327,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 327,\n                          \"column\": 25\n                        },\n                        \"identifierName\": \"b_coords\"\n                      },\n                      \"name\": \"b_coords\"\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9648,\n                      \"end\": 9654,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 327,\n                          \"column\": 26\n                        },\n                        \"end\": {\n                          \"line\": 327,\n                          \"column\": 32\n                        },\n                        \"identifierName\": \"length\"\n                      },\n                      \"name\": \"length\"\n                    },\n                    \"computed\": false\n                  }\n                }\n              ],\n              \"kind\": \"const\"\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 9658,\n              \"end\": 9702,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 329,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 331,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"LogicalExpression\",\n                \"start\": 9661,\n                \"end\": 9681,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 329,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 329,\n                    \"column\": 24\n                  }\n                },\n                \"left\": {\n                  \"type\": \"UnaryExpression\",\n                  \"start\": 9661,\n                  \"end\": 9669,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 329,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 329,\n                      \"column\": 12\n                    }\n                  },\n                  \"operator\": \"!\",\n                  \"prefix\": true,\n                  \"argument\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9662,\n                    \"end\": 9669,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 329,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 329,\n                        \"column\": 12\n                      },\n                      \"identifierName\": \"a_count\"\n                    },\n                    \"name\": \"a_count\"\n                  },\n                  \"extra\": {\n                    \"parenthesizedArgument\": false\n                  }\n                },\n                \"operator\": \"||\",\n                \"right\": {\n                  \"type\": \"UnaryExpression\",\n                  \"start\": 9673,\n                  \"end\": 9681,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 329,\n                      \"column\": 16\n                    },\n                    \"end\": {\n                      \"line\": 329,\n                      \"column\": 24\n                    }\n                  },\n                  \"operator\": \"!\",\n                  \"prefix\": true,\n                  \"argument\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9674,\n                    \"end\": 9681,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 329,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 329,\n                        \"column\": 24\n                      },\n                      \"identifierName\": \"b_count\"\n                    },\n                    \"name\": \"b_count\"\n                  },\n                  \"extra\": {\n                    \"parenthesizedArgument\": false\n                  }\n                }\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 9683,\n                \"end\": 9702,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 329,\n                    \"column\": 26\n                  },\n                  \"end\": {\n                    \"line\": 331,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 9687,\n                    \"end\": 9699,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 330,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 330,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 9694,\n                      \"end\": 9698,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 330,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 330,\n                          \"column\": 13\n                        }\n                      },\n                      \"value\": true\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 9705,\n              \"end\": 9724,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 333,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 333,\n                  \"column\": 20\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 9709,\n                  \"end\": 9723,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 333,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 333,\n                      \"column\": 19\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9709,\n                    \"end\": 9716,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 333,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 333,\n                        \"column\": 12\n                      },\n                      \"identifierName\": \"a_start\"\n                    },\n                    \"name\": \"a_start\"\n                  },\n                  \"init\": {\n                    \"type\": \"NullLiteral\",\n                    \"start\": 9719,\n                    \"end\": 9723,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 333,\n                        \"column\": 15\n                      },\n                      \"end\": {\n                        \"line\": 333,\n                        \"column\": 19\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 9726,\n              \"end\": 9745,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 334,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 334,\n                  \"column\": 20\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 9730,\n                  \"end\": 9744,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 334,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 334,\n                      \"column\": 19\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9730,\n                    \"end\": 9735,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 334,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 334,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"a_end\"\n                    },\n                    \"name\": \"a_end\"\n                  },\n                  \"init\": {\n                    \"type\": \"NullLiteral\",\n                    \"start\": 9740,\n                    \"end\": 9744,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 334,\n                        \"column\": 15\n                      },\n                      \"end\": {\n                        \"line\": 334,\n                        \"column\": 19\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 9747,\n              \"end\": 9766,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 335,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 335,\n                  \"column\": 20\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 9751,\n                  \"end\": 9765,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 335,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 335,\n                      \"column\": 19\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9751,\n                    \"end\": 9758,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 335,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 335,\n                        \"column\": 12\n                      },\n                      \"identifierName\": \"b_start\"\n                    },\n                    \"name\": \"b_start\"\n                  },\n                  \"init\": {\n                    \"type\": \"NullLiteral\",\n                    \"start\": 9761,\n                    \"end\": 9765,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 335,\n                        \"column\": 15\n                      },\n                      \"end\": {\n                        \"line\": 335,\n                        \"column\": 19\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"VariableDeclaration\",\n              \"start\": 9768,\n              \"end\": 9787,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 336,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 336,\n                  \"column\": 20\n                }\n              },\n              \"declarations\": [\n                {\n                  \"type\": \"VariableDeclarator\",\n                  \"start\": 9772,\n                  \"end\": 9786,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 336,\n                      \"column\": 5\n                    },\n                    \"end\": {\n                      \"line\": 336,\n                      \"column\": 19\n                    }\n                  },\n                  \"id\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 9772,\n                    \"end\": 9777,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 336,\n                        \"column\": 5\n                      },\n                      \"end\": {\n                        \"line\": 336,\n                        \"column\": 10\n                      },\n                      \"identifierName\": \"b_end\"\n                    },\n                    \"name\": \"b_end\"\n                  },\n                  \"init\": {\n                    \"type\": \"NullLiteral\",\n                    \"start\": 9782,\n                    \"end\": 9786,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 336,\n                        \"column\": 15\n                      },\n                      \"end\": {\n                        \"line\": 336,\n                        \"column\": 19\n                      }\n                    }\n                  }\n                }\n              ],\n              \"kind\": \"let\"\n            },\n            {\n              \"type\": \"ForStatement\",\n              \"start\": 9790,\n              \"end\": 10025,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 338,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 348,\n                  \"column\": 2\n                }\n              },\n              \"init\": {\n                \"type\": \"VariableDeclaration\",\n                \"start\": 9794,\n                \"end\": 9812,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 338,\n                    \"column\": 5\n                  },\n                  \"end\": {\n                    \"line\": 338,\n                    \"column\": 23\n                  }\n                },\n                \"declarations\": [\n                  {\n                    \"type\": \"VariableDeclarator\",\n                    \"start\": 9798,\n                    \"end\": 9804,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 338,\n                        \"column\": 9\n                      },\n                      \"end\": {\n                        \"line\": 338,\n                        \"column\": 15\n                      }\n                    },\n                    \"id\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9798,\n                      \"end\": 9800,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 11\n                        },\n                        \"identifierName\": \"ix\"\n                      },\n                      \"name\": \"ix\"\n                    },\n                    \"init\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 9803,\n                      \"end\": 9804,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 14\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 15\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"VariableDeclarator\",\n                    \"start\": 9806,\n                    \"end\": 9812,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 338,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 338,\n                        \"column\": 23\n                      }\n                    },\n                    \"id\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9806,\n                      \"end\": 9808,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 19\n                        },\n                        \"identifierName\": \"iy\"\n                      },\n                      \"name\": \"iy\"\n                    },\n                    \"init\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 9811,\n                      \"end\": 9812,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 22\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 23\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  }\n                ],\n                \"kind\": \"let\"\n              },\n              \"test\": {\n                \"type\": \"BinaryExpression\",\n                \"start\": 9814,\n                \"end\": 9826,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 338,\n                    \"column\": 25\n                  },\n                  \"end\": {\n                    \"line\": 338,\n                    \"column\": 37\n                  }\n                },\n                \"left\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 9814,\n                  \"end\": 9816,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 338,\n                      \"column\": 25\n                    },\n                    \"end\": {\n                      \"line\": 338,\n                      \"column\": 27\n                    },\n                    \"identifierName\": \"ix\"\n                  },\n                  \"name\": \"ix\"\n                },\n                \"operator\": \"<\",\n                \"right\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 9819,\n                  \"end\": 9826,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 338,\n                      \"column\": 30\n                    },\n                    \"end\": {\n                      \"line\": 338,\n                      \"column\": 37\n                    },\n                    \"identifierName\": \"a_count\"\n                  },\n                  \"name\": \"a_count\"\n                }\n              },\n              \"update\": {\n                \"type\": \"SequenceExpression\",\n                \"start\": 9828,\n                \"end\": 9844,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 338,\n                    \"column\": 39\n                  },\n                  \"end\": {\n                    \"line\": 338,\n                    \"column\": 55\n                  }\n                },\n                \"expressions\": [\n                  {\n                    \"type\": \"AssignmentExpression\",\n                    \"start\": 9828,\n                    \"end\": 9835,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 338,\n                        \"column\": 39\n                      },\n                      \"end\": {\n                        \"line\": 338,\n                        \"column\": 46\n                      }\n                    },\n                    \"operator\": \"+=\",\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9828,\n                      \"end\": 9830,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 39\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 41\n                        },\n                        \"identifierName\": \"ix\"\n                      },\n                      \"name\": \"ix\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 9834,\n                      \"end\": 9835,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 45\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 46\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 2,\n                        \"raw\": \"2\"\n                      },\n                      \"value\": 2\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentExpression\",\n                    \"start\": 9837,\n                    \"end\": 9844,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 338,\n                        \"column\": 48\n                      },\n                      \"end\": {\n                        \"line\": 338,\n                        \"column\": 55\n                      }\n                    },\n                    \"operator\": \"+=\",\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 9837,\n                      \"end\": 9839,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 48\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 50\n                        },\n                        \"identifierName\": \"iy\"\n                      },\n                      \"name\": \"iy\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 9843,\n                      \"end\": 9844,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 338,\n                          \"column\": 54\n                        },\n                        \"end\": {\n                          \"line\": 338,\n                          \"column\": 55\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 2,\n                        \"raw\": \"2\"\n                      },\n                      \"value\": 2\n                    }\n                  }\n                ]\n              },\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 9846,\n                \"end\": 10025,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 338,\n                    \"column\": 57\n                  },\n                  \"end\": {\n                    \"line\": 348,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 9850,\n                    \"end\": 9898,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 339,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 339,\n                        \"column\": 50\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 9856,\n                        \"end\": 9897,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 339,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 339,\n                            \"column\": 49\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9856,\n                          \"end\": 9859,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 339,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 339,\n                              \"column\": 11\n                            },\n                            \"identifierName\": \"dot\"\n                          },\n                          \"name\": \"dot\"\n                        },\n                        \"init\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 9862,\n                          \"end\": 9897,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 339,\n                              \"column\": 14\n                            },\n                            \"end\": {\n                              \"line\": 339,\n                              \"column\": 49\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 9862,\n                            \"end\": 9878,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 339,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 339,\n                                \"column\": 30\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 9862,\n                              \"end\": 9874,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 339,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 339,\n                                  \"column\": 26\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 9862,\n                                \"end\": 9870,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 339,\n                                    \"column\": 14\n                                  },\n                                  \"end\": {\n                                    \"line\": 339,\n                                    \"column\": 22\n                                  },\n                                  \"identifierName\": \"a_coords\"\n                                },\n                                \"name\": \"a_coords\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 9871,\n                                \"end\": 9873,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 339,\n                                    \"column\": 23\n                                  },\n                                  \"end\": {\n                                    \"line\": 339,\n                                    \"column\": 25\n                                  },\n                                  \"identifierName\": \"ix\"\n                                },\n                                \"name\": \"ix\"\n                              },\n                              \"computed\": true\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 9877,\n                              \"end\": 9878,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 339,\n                                  \"column\": 29\n                                },\n                                \"end\": {\n                                  \"line\": 339,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            }\n                          },\n                          \"operator\": \"+\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 9881,\n                            \"end\": 9897,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 339,\n                                \"column\": 33\n                              },\n                              \"end\": {\n                                \"line\": 339,\n                                \"column\": 49\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 9881,\n                              \"end\": 9893,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 339,\n                                  \"column\": 33\n                                },\n                                \"end\": {\n                                  \"line\": 339,\n                                  \"column\": 45\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 9881,\n                                \"end\": 9889,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 339,\n                                    \"column\": 33\n                                  },\n                                  \"end\": {\n                                    \"line\": 339,\n                                    \"column\": 41\n                                  },\n                                  \"identifierName\": \"a_coords\"\n                                },\n                                \"name\": \"a_coords\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 9890,\n                                \"end\": 9892,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 339,\n                                    \"column\": 42\n                                  },\n                                  \"end\": {\n                                    \"line\": 339,\n                                    \"column\": 44\n                                  },\n                                  \"identifierName\": \"iy\"\n                                },\n                                \"name\": \"iy\"\n                              },\n                              \"computed\": true\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 9896,\n                              \"end\": 9897,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 339,\n                                  \"column\": 48\n                                },\n                                \"end\": {\n                                  \"line\": 339,\n                                  \"column\": 49\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            }\n                          }\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 9902,\n                    \"end\": 9963,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 341,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 343,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"LogicalExpression\",\n                      \"start\": 9905,\n                      \"end\": 9938,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 341,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 341,\n                          \"column\": 38\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 9905,\n                        \"end\": 9921,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 341,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 341,\n                            \"column\": 21\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9905,\n                          \"end\": 9912,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 341,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 341,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"a_start\"\n                          },\n                          \"name\": \"a_start\"\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 9917,\n                          \"end\": 9921,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 341,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 341,\n                              \"column\": 21\n                            }\n                          }\n                        }\n                      },\n                      \"operator\": \"||\",\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 9925,\n                        \"end\": 9938,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 341,\n                            \"column\": 25\n                          },\n                          \"end\": {\n                            \"line\": 341,\n                            \"column\": 38\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9925,\n                          \"end\": 9932,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 341,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 341,\n                              \"column\": 32\n                            },\n                            \"identifierName\": \"a_start\"\n                          },\n                          \"name\": \"a_start\"\n                        },\n                        \"operator\": \">\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9935,\n                          \"end\": 9938,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 341,\n                              \"column\": 35\n                            },\n                            \"end\": {\n                              \"line\": 341,\n                              \"column\": 38\n                            },\n                            \"identifierName\": \"dot\"\n                          },\n                          \"name\": \"dot\"\n                        }\n                      }\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 9940,\n                      \"end\": 9963,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 341,\n                          \"column\": 40\n                        },\n                        \"end\": {\n                          \"line\": 343,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 9945,\n                          \"end\": 9959,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 342,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 342,\n                              \"column\": 17\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 9945,\n                            \"end\": 9958,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 342,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 342,\n                                \"column\": 16\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 9945,\n                              \"end\": 9952,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 342,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 342,\n                                  \"column\": 10\n                                },\n                                \"identifierName\": \"a_start\"\n                              },\n                              \"name\": \"a_start\"\n                            },\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 9955,\n                              \"end\": 9958,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 342,\n                                  \"column\": 13\n                                },\n                                \"end\": {\n                                  \"line\": 342,\n                                  \"column\": 16\n                                },\n                                \"identifierName\": \"dot\"\n                              },\n                              \"name\": \"dot\"\n                            }\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 9967,\n                    \"end\": 10022,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 345,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 347,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"LogicalExpression\",\n                      \"start\": 9970,\n                      \"end\": 9999,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 345,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 345,\n                          \"column\": 34\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 9970,\n                        \"end\": 9984,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 345,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 345,\n                            \"column\": 19\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9970,\n                          \"end\": 9975,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 345,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 345,\n                              \"column\": 10\n                            },\n                            \"identifierName\": \"a_end\"\n                          },\n                          \"name\": \"a_end\"\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 9980,\n                          \"end\": 9984,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 345,\n                              \"column\": 15\n                            },\n                            \"end\": {\n                              \"line\": 345,\n                              \"column\": 19\n                            }\n                          }\n                        }\n                      },\n                      \"operator\": \"||\",\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 9988,\n                        \"end\": 9999,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 345,\n                            \"column\": 23\n                          },\n                          \"end\": {\n                            \"line\": 345,\n                            \"column\": 34\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9988,\n                          \"end\": 9993,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 345,\n                              \"column\": 23\n                            },\n                            \"end\": {\n                              \"line\": 345,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"a_end\"\n                          },\n                          \"name\": \"a_end\"\n                        },\n                        \"operator\": \"<\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 9996,\n                          \"end\": 9999,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 345,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 345,\n                              \"column\": 34\n                            },\n                            \"identifierName\": \"dot\"\n                          },\n                          \"name\": \"dot\"\n                        }\n                      }\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 10001,\n                      \"end\": 10022,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 345,\n                          \"column\": 36\n                        },\n                        \"end\": {\n                          \"line\": 347,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 10006,\n                          \"end\": 10018,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 346,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 346,\n                              \"column\": 15\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 10006,\n                            \"end\": 10017,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 346,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 346,\n                                \"column\": 14\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10006,\n                              \"end\": 10011,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 346,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 346,\n                                  \"column\": 8\n                                },\n                                \"identifierName\": \"a_end\"\n                              },\n                              \"name\": \"a_end\"\n                            },\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10014,\n                              \"end\": 10017,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 346,\n                                  \"column\": 11\n                                },\n                                \"end\": {\n                                  \"line\": 346,\n                                  \"column\": 14\n                                },\n                                \"identifierName\": \"dot\"\n                              },\n                              \"name\": \"dot\"\n                            }\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  }\n                ],\n                \"directives\": []\n              }\n            },\n            {\n              \"type\": \"ForStatement\",\n              \"start\": 10028,\n              \"end\": 10263,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 350,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 360,\n                  \"column\": 2\n                }\n              },\n              \"init\": {\n                \"type\": \"VariableDeclaration\",\n                \"start\": 10032,\n                \"end\": 10050,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 350,\n                    \"column\": 5\n                  },\n                  \"end\": {\n                    \"line\": 350,\n                    \"column\": 23\n                  }\n                },\n                \"declarations\": [\n                  {\n                    \"type\": \"VariableDeclarator\",\n                    \"start\": 10036,\n                    \"end\": 10042,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 350,\n                        \"column\": 9\n                      },\n                      \"end\": {\n                        \"line\": 350,\n                        \"column\": 15\n                      }\n                    },\n                    \"id\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 10036,\n                      \"end\": 10038,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 11\n                        },\n                        \"identifierName\": \"ix\"\n                      },\n                      \"name\": \"ix\"\n                    },\n                    \"init\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 10041,\n                      \"end\": 10042,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 14\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 15\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 0,\n                        \"raw\": \"0\"\n                      },\n                      \"value\": 0\n                    }\n                  },\n                  {\n                    \"type\": \"VariableDeclarator\",\n                    \"start\": 10044,\n                    \"end\": 10050,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 350,\n                        \"column\": 17\n                      },\n                      \"end\": {\n                        \"line\": 350,\n                        \"column\": 23\n                      }\n                    },\n                    \"id\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 10044,\n                      \"end\": 10046,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 17\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 19\n                        },\n                        \"identifierName\": \"iy\"\n                      },\n                      \"name\": \"iy\"\n                    },\n                    \"init\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 10049,\n                      \"end\": 10050,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 22\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 23\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 1,\n                        \"raw\": \"1\"\n                      },\n                      \"value\": 1\n                    }\n                  }\n                ],\n                \"kind\": \"let\"\n              },\n              \"test\": {\n                \"type\": \"BinaryExpression\",\n                \"start\": 10052,\n                \"end\": 10064,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 350,\n                    \"column\": 25\n                  },\n                  \"end\": {\n                    \"line\": 350,\n                    \"column\": 37\n                  }\n                },\n                \"left\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 10052,\n                  \"end\": 10054,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 350,\n                      \"column\": 25\n                    },\n                    \"end\": {\n                      \"line\": 350,\n                      \"column\": 27\n                    },\n                    \"identifierName\": \"ix\"\n                  },\n                  \"name\": \"ix\"\n                },\n                \"operator\": \"<\",\n                \"right\": {\n                  \"type\": \"Identifier\",\n                  \"start\": 10057,\n                  \"end\": 10064,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 350,\n                      \"column\": 30\n                    },\n                    \"end\": {\n                      \"line\": 350,\n                      \"column\": 37\n                    },\n                    \"identifierName\": \"b_count\"\n                  },\n                  \"name\": \"b_count\"\n                }\n              },\n              \"update\": {\n                \"type\": \"SequenceExpression\",\n                \"start\": 10066,\n                \"end\": 10082,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 350,\n                    \"column\": 39\n                  },\n                  \"end\": {\n                    \"line\": 350,\n                    \"column\": 55\n                  }\n                },\n                \"expressions\": [\n                  {\n                    \"type\": \"AssignmentExpression\",\n                    \"start\": 10066,\n                    \"end\": 10073,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 350,\n                        \"column\": 39\n                      },\n                      \"end\": {\n                        \"line\": 350,\n                        \"column\": 46\n                      }\n                    },\n                    \"operator\": \"+=\",\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 10066,\n                      \"end\": 10068,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 39\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 41\n                        },\n                        \"identifierName\": \"ix\"\n                      },\n                      \"name\": \"ix\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 10072,\n                      \"end\": 10073,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 45\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 46\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 2,\n                        \"raw\": \"2\"\n                      },\n                      \"value\": 2\n                    }\n                  },\n                  {\n                    \"type\": \"AssignmentExpression\",\n                    \"start\": 10075,\n                    \"end\": 10082,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 350,\n                        \"column\": 48\n                      },\n                      \"end\": {\n                        \"line\": 350,\n                        \"column\": 55\n                      }\n                    },\n                    \"operator\": \"+=\",\n                    \"left\": {\n                      \"type\": \"Identifier\",\n                      \"start\": 10075,\n                      \"end\": 10077,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 48\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 50\n                        },\n                        \"identifierName\": \"iy\"\n                      },\n                      \"name\": \"iy\"\n                    },\n                    \"right\": {\n                      \"type\": \"NumericLiteral\",\n                      \"start\": 10081,\n                      \"end\": 10082,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 350,\n                          \"column\": 54\n                        },\n                        \"end\": {\n                          \"line\": 350,\n                          \"column\": 55\n                        }\n                      },\n                      \"extra\": {\n                        \"rawValue\": 2,\n                        \"raw\": \"2\"\n                      },\n                      \"value\": 2\n                    }\n                  }\n                ]\n              },\n              \"body\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 10084,\n                \"end\": 10263,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 350,\n                    \"column\": 57\n                  },\n                  \"end\": {\n                    \"line\": 360,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 10088,\n                    \"end\": 10136,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 351,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 351,\n                        \"column\": 50\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 10094,\n                        \"end\": 10135,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 351,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 351,\n                            \"column\": 49\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10094,\n                          \"end\": 10097,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 351,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 351,\n                              \"column\": 11\n                            },\n                            \"identifierName\": \"dot\"\n                          },\n                          \"name\": \"dot\"\n                        },\n                        \"init\": {\n                          \"type\": \"BinaryExpression\",\n                          \"start\": 10100,\n                          \"end\": 10135,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 351,\n                              \"column\": 14\n                            },\n                            \"end\": {\n                              \"line\": 351,\n                              \"column\": 49\n                            }\n                          },\n                          \"left\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 10100,\n                            \"end\": 10116,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 351,\n                                \"column\": 14\n                              },\n                              \"end\": {\n                                \"line\": 351,\n                                \"column\": 30\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 10100,\n                              \"end\": 10112,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 351,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 351,\n                                  \"column\": 26\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10100,\n                                \"end\": 10108,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 351,\n                                    \"column\": 14\n                                  },\n                                  \"end\": {\n                                    \"line\": 351,\n                                    \"column\": 22\n                                  },\n                                  \"identifierName\": \"b_coords\"\n                                },\n                                \"name\": \"b_coords\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10109,\n                                \"end\": 10111,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 351,\n                                    \"column\": 23\n                                  },\n                                  \"end\": {\n                                    \"line\": 351,\n                                    \"column\": 25\n                                  },\n                                  \"identifierName\": \"ix\"\n                                },\n                                \"name\": \"ix\"\n                              },\n                              \"computed\": true\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10115,\n                              \"end\": 10116,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 351,\n                                  \"column\": 29\n                                },\n                                \"end\": {\n                                  \"line\": 351,\n                                  \"column\": 30\n                                },\n                                \"identifierName\": \"x\"\n                              },\n                              \"name\": \"x\"\n                            }\n                          },\n                          \"operator\": \"+\",\n                          \"right\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 10119,\n                            \"end\": 10135,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 351,\n                                \"column\": 33\n                              },\n                              \"end\": {\n                                \"line\": 351,\n                                \"column\": 49\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 10119,\n                              \"end\": 10131,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 351,\n                                  \"column\": 33\n                                },\n                                \"end\": {\n                                  \"line\": 351,\n                                  \"column\": 45\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10119,\n                                \"end\": 10127,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 351,\n                                    \"column\": 33\n                                  },\n                                  \"end\": {\n                                    \"line\": 351,\n                                    \"column\": 41\n                                  },\n                                  \"identifierName\": \"b_coords\"\n                                },\n                                \"name\": \"b_coords\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10128,\n                                \"end\": 10130,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 351,\n                                    \"column\": 42\n                                  },\n                                  \"end\": {\n                                    \"line\": 351,\n                                    \"column\": 44\n                                  },\n                                  \"identifierName\": \"iy\"\n                                },\n                                \"name\": \"iy\"\n                              },\n                              \"computed\": true\n                            },\n                            \"operator\": \"*\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10134,\n                              \"end\": 10135,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 351,\n                                  \"column\": 48\n                                },\n                                \"end\": {\n                                  \"line\": 351,\n                                  \"column\": 49\n                                },\n                                \"identifierName\": \"y\"\n                              },\n                              \"name\": \"y\"\n                            }\n                          }\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 10140,\n                    \"end\": 10201,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 353,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 355,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"LogicalExpression\",\n                      \"start\": 10143,\n                      \"end\": 10176,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 353,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 353,\n                          \"column\": 38\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 10143,\n                        \"end\": 10159,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 353,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 353,\n                            \"column\": 21\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10143,\n                          \"end\": 10150,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 353,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 353,\n                              \"column\": 12\n                            },\n                            \"identifierName\": \"b_start\"\n                          },\n                          \"name\": \"b_start\"\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 10155,\n                          \"end\": 10159,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 353,\n                              \"column\": 17\n                            },\n                            \"end\": {\n                              \"line\": 353,\n                              \"column\": 21\n                            }\n                          }\n                        }\n                      },\n                      \"operator\": \"||\",\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 10163,\n                        \"end\": 10176,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 353,\n                            \"column\": 25\n                          },\n                          \"end\": {\n                            \"line\": 353,\n                            \"column\": 38\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10163,\n                          \"end\": 10170,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 353,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 353,\n                              \"column\": 32\n                            },\n                            \"identifierName\": \"b_start\"\n                          },\n                          \"name\": \"b_start\"\n                        },\n                        \"operator\": \">\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10173,\n                          \"end\": 10176,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 353,\n                              \"column\": 35\n                            },\n                            \"end\": {\n                              \"line\": 353,\n                              \"column\": 38\n                            },\n                            \"identifierName\": \"dot\"\n                          },\n                          \"name\": \"dot\"\n                        }\n                      }\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 10178,\n                      \"end\": 10201,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 353,\n                          \"column\": 40\n                        },\n                        \"end\": {\n                          \"line\": 355,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 10183,\n                          \"end\": 10197,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 354,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 354,\n                              \"column\": 17\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 10183,\n                            \"end\": 10196,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 354,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 354,\n                                \"column\": 16\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10183,\n                              \"end\": 10190,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 354,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 354,\n                                  \"column\": 10\n                                },\n                                \"identifierName\": \"b_start\"\n                              },\n                              \"name\": \"b_start\"\n                            },\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10193,\n                              \"end\": 10196,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 354,\n                                  \"column\": 13\n                                },\n                                \"end\": {\n                                  \"line\": 354,\n                                  \"column\": 16\n                                },\n                                \"identifierName\": \"dot\"\n                              },\n                              \"name\": \"dot\"\n                            }\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 10205,\n                    \"end\": 10260,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 357,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 359,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"LogicalExpression\",\n                      \"start\": 10208,\n                      \"end\": 10237,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 357,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 357,\n                          \"column\": 34\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 10208,\n                        \"end\": 10222,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 357,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 357,\n                            \"column\": 19\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10208,\n                          \"end\": 10213,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 357,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 357,\n                              \"column\": 10\n                            },\n                            \"identifierName\": \"b_end\"\n                          },\n                          \"name\": \"b_end\"\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 10218,\n                          \"end\": 10222,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 357,\n                              \"column\": 15\n                            },\n                            \"end\": {\n                              \"line\": 357,\n                              \"column\": 19\n                            }\n                          }\n                        }\n                      },\n                      \"operator\": \"||\",\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 10226,\n                        \"end\": 10237,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 357,\n                            \"column\": 23\n                          },\n                          \"end\": {\n                            \"line\": 357,\n                            \"column\": 34\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10226,\n                          \"end\": 10231,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 357,\n                              \"column\": 23\n                            },\n                            \"end\": {\n                              \"line\": 357,\n                              \"column\": 28\n                            },\n                            \"identifierName\": \"b_end\"\n                          },\n                          \"name\": \"b_end\"\n                        },\n                        \"operator\": \"<\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10234,\n                          \"end\": 10237,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 357,\n                              \"column\": 31\n                            },\n                            \"end\": {\n                              \"line\": 357,\n                              \"column\": 34\n                            },\n                            \"identifierName\": \"dot\"\n                          },\n                          \"name\": \"dot\"\n                        }\n                      }\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 10239,\n                      \"end\": 10260,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 357,\n                          \"column\": 36\n                        },\n                        \"end\": {\n                          \"line\": 359,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 10244,\n                          \"end\": 10256,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 358,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 358,\n                              \"column\": 15\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 10244,\n                            \"end\": 10255,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 358,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 358,\n                                \"column\": 14\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10244,\n                              \"end\": 10249,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 358,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 358,\n                                  \"column\": 8\n                                },\n                                \"identifierName\": \"b_end\"\n                              },\n                              \"name\": \"b_end\"\n                            },\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10252,\n                              \"end\": 10255,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 358,\n                                  \"column\": 11\n                                },\n                                \"end\": {\n                                  \"line\": 358,\n                                  \"column\": 14\n                                },\n                                \"identifierName\": \"dot\"\n                              },\n                              \"name\": \"dot\"\n                            }\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  }\n                ],\n                \"directives\": []\n              }\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 10266,\n              \"end\": 10324,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 362,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 364,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"LogicalExpression\",\n                \"start\": 10269,\n                \"end\": 10303,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 362,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 362,\n                    \"column\": 38\n                  }\n                },\n                \"left\": {\n                  \"type\": \"BinaryExpression\",\n                  \"start\": 10269,\n                  \"end\": 10284,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 362,\n                      \"column\": 4\n                    },\n                    \"end\": {\n                      \"line\": 362,\n                      \"column\": 19\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 10269,\n                    \"end\": 10276,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 362,\n                        \"column\": 4\n                      },\n                      \"end\": {\n                        \"line\": 362,\n                        \"column\": 11\n                      },\n                      \"identifierName\": \"a_start\"\n                    },\n                    \"name\": \"a_start\"\n                  },\n                  \"operator\": \">\",\n                  \"right\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 10279,\n                    \"end\": 10284,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 362,\n                        \"column\": 14\n                      },\n                      \"end\": {\n                        \"line\": 362,\n                        \"column\": 19\n                      },\n                      \"identifierName\": \"b_end\"\n                    },\n                    \"name\": \"b_end\"\n                  }\n                },\n                \"operator\": \"||\",\n                \"right\": {\n                  \"type\": \"BinaryExpression\",\n                  \"start\": 10288,\n                  \"end\": 10303,\n                  \"loc\": {\n                    \"start\": {\n                      \"line\": 362,\n                      \"column\": 23\n                    },\n                    \"end\": {\n                      \"line\": 362,\n                      \"column\": 38\n                    }\n                  },\n                  \"left\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 10288,\n                    \"end\": 10293,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 362,\n                        \"column\": 23\n                      },\n                      \"end\": {\n                        \"line\": 362,\n                        \"column\": 28\n                      },\n                      \"identifierName\": \"a_end\"\n                    },\n                    \"name\": \"a_end\"\n                  },\n                  \"operator\": \"<\",\n                  \"right\": {\n                    \"type\": \"Identifier\",\n                    \"start\": 10296,\n                    \"end\": 10303,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 362,\n                        \"column\": 31\n                      },\n                      \"end\": {\n                        \"line\": 362,\n                        \"column\": 38\n                      },\n                      \"identifierName\": \"b_start\"\n                    },\n                    \"name\": \"b_start\"\n                  }\n                }\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 10305,\n                \"end\": 10324,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 362,\n                    \"column\": 40\n                  },\n                  \"end\": {\n                    \"line\": 364,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"ReturnStatement\",\n                    \"start\": 10309,\n                    \"end\": 10321,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 363,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 363,\n                        \"column\": 14\n                      }\n                    },\n                    \"argument\": {\n                      \"type\": \"BooleanLiteral\",\n                      \"start\": 10316,\n                      \"end\": 10320,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 363,\n                          \"column\": 9\n                        },\n                        \"end\": {\n                          \"line\": 363,\n                          \"column\": 13\n                        }\n                      },\n                      \"value\": true\n                    }\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"IfStatement\",\n              \"start\": 10327,\n              \"end\": 11255,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 366,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 408,\n                  \"column\": 2\n                }\n              },\n              \"test\": {\n                \"type\": \"Identifier\",\n                \"start\": 10330,\n                \"end\": 10336,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 366,\n                    \"column\": 4\n                  },\n                  \"end\": {\n                    \"line\": 366,\n                    \"column\": 10\n                  },\n                  \"identifierName\": \"result\"\n                },\n                \"name\": \"result\"\n              },\n              \"consequent\": {\n                \"type\": \"BlockStatement\",\n                \"start\": 10338,\n                \"end\": 11255,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 366,\n                    \"column\": 12\n                  },\n                  \"end\": {\n                    \"line\": 408,\n                    \"column\": 2\n                  }\n                },\n                \"body\": [\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 10342,\n                    \"end\": 10358,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 367,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 367,\n                        \"column\": 18\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 10346,\n                        \"end\": 10357,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 367,\n                            \"column\": 6\n                          },\n                          \"end\": {\n                            \"line\": 367,\n                            \"column\": 17\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10346,\n                          \"end\": 10353,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 367,\n                              \"column\": 6\n                            },\n                            \"end\": {\n                              \"line\": 367,\n                              \"column\": 13\n                            },\n                            \"identifierName\": \"overlap\"\n                          },\n                          \"name\": \"overlap\"\n                        },\n                        \"init\": {\n                          \"type\": \"NumericLiteral\",\n                          \"start\": 10356,\n                          \"end\": 10357,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 367,\n                              \"column\": 16\n                            },\n                            \"end\": {\n                              \"line\": 367,\n                              \"column\": 17\n                            }\n                          },\n                          \"extra\": {\n                            \"rawValue\": 0,\n                            \"raw\": \"0\"\n                          },\n                          \"value\": 0\n                        }\n                      }\n                    ],\n                    \"kind\": \"let\"\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 10362,\n                    \"end\": 10928,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 369,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 396,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"BinaryExpression\",\n                      \"start\": 10365,\n                      \"end\": 10382,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 369,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 369,\n                          \"column\": 22\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 10365,\n                        \"end\": 10372,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 369,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 369,\n                            \"column\": 12\n                          },\n                          \"identifierName\": \"a_start\"\n                        },\n                        \"name\": \"a_start\"\n                      },\n                      \"operator\": \"<\",\n                      \"right\": {\n                        \"type\": \"Identifier\",\n                        \"start\": 10375,\n                        \"end\": 10382,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 369,\n                            \"column\": 15\n                          },\n                          \"end\": {\n                            \"line\": 369,\n                            \"column\": 22\n                          },\n                          \"identifierName\": \"b_start\"\n                        },\n                        \"name\": \"b_start\"\n                      }\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 10384,\n                      \"end\": 10652,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 369,\n                          \"column\": 24\n                        },\n                        \"end\": {\n                          \"line\": 382,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 10389,\n                          \"end\": 10411,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 370,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 370,\n                              \"column\": 25\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 10389,\n                            \"end\": 10410,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 370,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 370,\n                                \"column\": 24\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 10389,\n                              \"end\": 10402,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 370,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 370,\n                                  \"column\": 16\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10389,\n                                \"end\": 10395,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 370,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 370,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10396,\n                                \"end\": 10402,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 370,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 370,\n                                    \"column\": 16\n                                  },\n                                  \"identifierName\": \"a_in_b\"\n                                },\n                                \"name\": \"a_in_b\"\n                              },\n                              \"computed\": false\n                            },\n                            \"right\": {\n                              \"type\": \"BooleanLiteral\",\n                              \"start\": 10405,\n                              \"end\": 10410,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 370,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 370,\n                                  \"column\": 24\n                                }\n                              },\n                              \"value\": false\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"IfStatement\",\n                          \"start\": 10416,\n                          \"end\": 10648,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 372,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 381,\n                              \"column\": 4\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 10419,\n                            \"end\": 10432,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 372,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 372,\n                                \"column\": 19\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10419,\n                              \"end\": 10424,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 372,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 372,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"a_end\"\n                              },\n                              \"name\": \"a_end\"\n                            },\n                            \"operator\": \"<\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10427,\n                              \"end\": 10432,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 372,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 372,\n                                  \"column\": 19\n                                },\n                                \"identifierName\": \"b_end\"\n                              },\n                              \"name\": \"b_end\"\n                            }\n                          },\n                          \"consequent\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 10434,\n                            \"end\": 10504,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 372,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 375,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 10440,\n                                \"end\": 10472,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 373,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 373,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 10440,\n                                  \"end\": 10471,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 373,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 373,\n                                      \"column\": 35\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10440,\n                                    \"end\": 10447,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 373,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 373,\n                                        \"column\": 11\n                                      },\n                                      \"identifierName\": \"overlap\"\n                                    },\n                                    \"name\": \"overlap\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 10456,\n                                    \"end\": 10471,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 373,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 373,\n                                        \"column\": 35\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10456,\n                                      \"end\": 10461,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 373,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 373,\n                                          \"column\": 25\n                                        },\n                                        \"identifierName\": \"a_end\"\n                                      },\n                                      \"name\": \"a_end\"\n                                    },\n                                    \"operator\": \"-\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10464,\n                                      \"end\": 10471,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 373,\n                                          \"column\": 28\n                                        },\n                                        \"end\": {\n                                          \"line\": 373,\n                                          \"column\": 35\n                                        },\n                                        \"identifierName\": \"b_start\"\n                                      },\n                                      \"name\": \"b_start\"\n                                    }\n                                  }\n                                }\n                              },\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 10477,\n                                \"end\": 10499,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 374,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 374,\n                                    \"column\": 26\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 10477,\n                                  \"end\": 10498,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 374,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 374,\n                                      \"column\": 25\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 10477,\n                                    \"end\": 10490,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 374,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 374,\n                                        \"column\": 17\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10477,\n                                      \"end\": 10483,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 374,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 374,\n                                          \"column\": 10\n                                        },\n                                        \"identifierName\": \"result\"\n                                      },\n                                      \"name\": \"result\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10484,\n                                      \"end\": 10490,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 374,\n                                          \"column\": 11\n                                        },\n                                        \"end\": {\n                                          \"line\": 374,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"b_in_a\"\n                                      },\n                                      \"name\": \"b_in_a\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"right\": {\n                                    \"type\": \"BooleanLiteral\",\n                                    \"start\": 10493,\n                                    \"end\": 10498,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 374,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 374,\n                                        \"column\": 25\n                                      }\n                                    },\n                                    \"value\": false\n                                  }\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          },\n                          \"alternate\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 10513,\n                            \"end\": 10648,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 376,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 381,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 10519,\n                                \"end\": 10551,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 377,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 377,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 10525,\n                                    \"end\": 10550,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 377,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 377,\n                                        \"column\": 35\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10525,\n                                      \"end\": 10532,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 377,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 377,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"option1\"\n                                      },\n                                      \"name\": \"option1\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 10535,\n                                      \"end\": 10550,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 377,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 377,\n                                          \"column\": 35\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10535,\n                                        \"end\": 10540,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 377,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 377,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"a_end\"\n                                        },\n                                        \"name\": \"a_end\"\n                                      },\n                                      \"operator\": \"-\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10543,\n                                        \"end\": 10550,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 377,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 377,\n                                            \"column\": 35\n                                          },\n                                          \"identifierName\": \"b_start\"\n                                        },\n                                        \"name\": \"b_start\"\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 10556,\n                                \"end\": 10588,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 378,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 378,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 10562,\n                                    \"end\": 10587,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 378,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 378,\n                                        \"column\": 35\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10562,\n                                      \"end\": 10569,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 378,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 378,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"option2\"\n                                      },\n                                      \"name\": \"option2\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 10572,\n                                      \"end\": 10587,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 378,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 378,\n                                          \"column\": 35\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10572,\n                                        \"end\": 10577,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 378,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 378,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"b_end\"\n                                        },\n                                        \"name\": \"b_end\"\n                                      },\n                                      \"operator\": \"-\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10580,\n                                        \"end\": 10587,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 378,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 378,\n                                            \"column\": 35\n                                          },\n                                          \"identifierName\": \"a_start\"\n                                        },\n                                        \"name\": \"a_start\"\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 10594,\n                                \"end\": 10643,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 380,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 380,\n                                    \"column\": 53\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 10594,\n                                  \"end\": 10642,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 380,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 380,\n                                      \"column\": 52\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10594,\n                                    \"end\": 10601,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 380,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 380,\n                                        \"column\": 11\n                                      },\n                                      \"identifierName\": \"overlap\"\n                                    },\n                                    \"name\": \"overlap\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"ConditionalExpression\",\n                                    \"start\": 10604,\n                                    \"end\": 10642,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 380,\n                                        \"column\": 14\n                                      },\n                                      \"end\": {\n                                        \"line\": 380,\n                                        \"column\": 52\n                                      }\n                                    },\n                                    \"test\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 10604,\n                                      \"end\": 10621,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 380,\n                                          \"column\": 14\n                                        },\n                                        \"end\": {\n                                          \"line\": 380,\n                                          \"column\": 31\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10604,\n                                        \"end\": 10611,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 380,\n                                            \"column\": 14\n                                          },\n                                          \"end\": {\n                                            \"line\": 380,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"option1\"\n                                        },\n                                        \"name\": \"option1\"\n                                      },\n                                      \"operator\": \"<\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10614,\n                                        \"end\": 10621,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 380,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 380,\n                                            \"column\": 31\n                                          },\n                                          \"identifierName\": \"option2\"\n                                        },\n                                        \"name\": \"option2\"\n                                      }\n                                    },\n                                    \"consequent\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10624,\n                                      \"end\": 10631,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 380,\n                                          \"column\": 34\n                                        },\n                                        \"end\": {\n                                          \"line\": 380,\n                                          \"column\": 41\n                                        },\n                                        \"identifierName\": \"option1\"\n                                      },\n                                      \"name\": \"option1\"\n                                    },\n                                    \"alternate\": {\n                                      \"type\": \"UnaryExpression\",\n                                      \"start\": 10634,\n                                      \"end\": 10642,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 380,\n                                          \"column\": 44\n                                        },\n                                        \"end\": {\n                                          \"line\": 380,\n                                          \"column\": 52\n                                        }\n                                      },\n                                      \"operator\": \"-\",\n                                      \"prefix\": true,\n                                      \"argument\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10635,\n                                        \"end\": 10642,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 380,\n                                            \"column\": 45\n                                          },\n                                          \"end\": {\n                                            \"line\": 380,\n                                            \"column\": 52\n                                          },\n                                          \"identifierName\": \"option2\"\n                                        },\n                                        \"name\": \"option2\"\n                                      },\n                                      \"extra\": {\n                                        \"parenthesizedArgument\": false\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 10660,\n                      \"end\": 10928,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 383,\n                          \"column\": 7\n                        },\n                        \"end\": {\n                          \"line\": 396,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 10665,\n                          \"end\": 10687,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 384,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 384,\n                              \"column\": 25\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 10665,\n                            \"end\": 10686,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 384,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 384,\n                                \"column\": 24\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 10665,\n                              \"end\": 10678,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 384,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 384,\n                                  \"column\": 16\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10665,\n                                \"end\": 10671,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 384,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 384,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 10672,\n                                \"end\": 10678,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 384,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 384,\n                                    \"column\": 16\n                                  },\n                                  \"identifierName\": \"b_in_a\"\n                                },\n                                \"name\": \"b_in_a\"\n                              },\n                              \"computed\": false\n                            },\n                            \"right\": {\n                              \"type\": \"BooleanLiteral\",\n                              \"start\": 10681,\n                              \"end\": 10686,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 384,\n                                  \"column\": 19\n                                },\n                                \"end\": {\n                                  \"line\": 384,\n                                  \"column\": 24\n                                }\n                              },\n                              \"value\": false\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"IfStatement\",\n                          \"start\": 10692,\n                          \"end\": 10924,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 386,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 395,\n                              \"column\": 4\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 10695,\n                            \"end\": 10708,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 386,\n                                \"column\": 6\n                              },\n                              \"end\": {\n                                \"line\": 386,\n                                \"column\": 19\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10695,\n                              \"end\": 10700,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 386,\n                                  \"column\": 6\n                                },\n                                \"end\": {\n                                  \"line\": 386,\n                                  \"column\": 11\n                                },\n                                \"identifierName\": \"a_end\"\n                              },\n                              \"name\": \"a_end\"\n                            },\n                            \"operator\": \">\",\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 10703,\n                              \"end\": 10708,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 386,\n                                  \"column\": 14\n                                },\n                                \"end\": {\n                                  \"line\": 386,\n                                  \"column\": 19\n                                },\n                                \"identifierName\": \"b_end\"\n                              },\n                              \"name\": \"b_end\"\n                            }\n                          },\n                          \"consequent\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 10710,\n                            \"end\": 10780,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 386,\n                                \"column\": 21\n                              },\n                              \"end\": {\n                                \"line\": 389,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 10716,\n                                \"end\": 10748,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 387,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 387,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 10716,\n                                  \"end\": 10747,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 387,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 387,\n                                      \"column\": 35\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10716,\n                                    \"end\": 10723,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 387,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 387,\n                                        \"column\": 11\n                                      },\n                                      \"identifierName\": \"overlap\"\n                                    },\n                                    \"name\": \"overlap\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"BinaryExpression\",\n                                    \"start\": 10732,\n                                    \"end\": 10747,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 387,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 387,\n                                        \"column\": 35\n                                      }\n                                    },\n                                    \"left\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10732,\n                                      \"end\": 10739,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 387,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 387,\n                                          \"column\": 27\n                                        },\n                                        \"identifierName\": \"a_start\"\n                                      },\n                                      \"name\": \"a_start\"\n                                    },\n                                    \"operator\": \"-\",\n                                    \"right\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10742,\n                                      \"end\": 10747,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 387,\n                                          \"column\": 30\n                                        },\n                                        \"end\": {\n                                          \"line\": 387,\n                                          \"column\": 35\n                                        },\n                                        \"identifierName\": \"b_end\"\n                                      },\n                                      \"name\": \"b_end\"\n                                    }\n                                  }\n                                }\n                              },\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 10753,\n                                \"end\": 10775,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 388,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 388,\n                                    \"column\": 26\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 10753,\n                                  \"end\": 10774,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 388,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 388,\n                                      \"column\": 25\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"MemberExpression\",\n                                    \"start\": 10753,\n                                    \"end\": 10766,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 388,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 388,\n                                        \"column\": 17\n                                      }\n                                    },\n                                    \"object\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10753,\n                                      \"end\": 10759,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 388,\n                                          \"column\": 4\n                                        },\n                                        \"end\": {\n                                          \"line\": 388,\n                                          \"column\": 10\n                                        },\n                                        \"identifierName\": \"result\"\n                                      },\n                                      \"name\": \"result\"\n                                    },\n                                    \"property\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10760,\n                                      \"end\": 10766,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 388,\n                                          \"column\": 11\n                                        },\n                                        \"end\": {\n                                          \"line\": 388,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"a_in_b\"\n                                      },\n                                      \"name\": \"a_in_b\"\n                                    },\n                                    \"computed\": false\n                                  },\n                                  \"right\": {\n                                    \"type\": \"BooleanLiteral\",\n                                    \"start\": 10769,\n                                    \"end\": 10774,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 388,\n                                        \"column\": 20\n                                      },\n                                      \"end\": {\n                                        \"line\": 388,\n                                        \"column\": 25\n                                      }\n                                    },\n                                    \"value\": false\n                                  }\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          },\n                          \"alternate\": {\n                            \"type\": \"BlockStatement\",\n                            \"start\": 10789,\n                            \"end\": 10924,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 390,\n                                \"column\": 8\n                              },\n                              \"end\": {\n                                \"line\": 395,\n                                \"column\": 4\n                              }\n                            },\n                            \"body\": [\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 10795,\n                                \"end\": 10827,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 391,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 391,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 10801,\n                                    \"end\": 10826,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 391,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 391,\n                                        \"column\": 35\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10801,\n                                      \"end\": 10808,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 391,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 391,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"option1\"\n                                      },\n                                      \"name\": \"option1\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 10811,\n                                      \"end\": 10826,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 391,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 391,\n                                          \"column\": 35\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10811,\n                                        \"end\": 10816,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 391,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 391,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"a_end\"\n                                        },\n                                        \"name\": \"a_end\"\n                                      },\n                                      \"operator\": \"-\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10819,\n                                        \"end\": 10826,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 391,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 391,\n                                            \"column\": 35\n                                          },\n                                          \"identifierName\": \"b_start\"\n                                        },\n                                        \"name\": \"b_start\"\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"VariableDeclaration\",\n                                \"start\": 10832,\n                                \"end\": 10864,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 392,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 392,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"declarations\": [\n                                  {\n                                    \"type\": \"VariableDeclarator\",\n                                    \"start\": 10838,\n                                    \"end\": 10863,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 392,\n                                        \"column\": 10\n                                      },\n                                      \"end\": {\n                                        \"line\": 392,\n                                        \"column\": 35\n                                      }\n                                    },\n                                    \"id\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10838,\n                                      \"end\": 10845,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 392,\n                                          \"column\": 10\n                                        },\n                                        \"end\": {\n                                          \"line\": 392,\n                                          \"column\": 17\n                                        },\n                                        \"identifierName\": \"option2\"\n                                      },\n                                      \"name\": \"option2\"\n                                    },\n                                    \"init\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 10848,\n                                      \"end\": 10863,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 392,\n                                          \"column\": 20\n                                        },\n                                        \"end\": {\n                                          \"line\": 392,\n                                          \"column\": 35\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10848,\n                                        \"end\": 10853,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 392,\n                                            \"column\": 20\n                                          },\n                                          \"end\": {\n                                            \"line\": 392,\n                                            \"column\": 25\n                                          },\n                                          \"identifierName\": \"b_end\"\n                                        },\n                                        \"name\": \"b_end\"\n                                      },\n                                      \"operator\": \"-\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10856,\n                                        \"end\": 10863,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 392,\n                                            \"column\": 28\n                                          },\n                                          \"end\": {\n                                            \"line\": 392,\n                                            \"column\": 35\n                                          },\n                                          \"identifierName\": \"a_start\"\n                                        },\n                                        \"name\": \"a_start\"\n                                      }\n                                    }\n                                  }\n                                ],\n                                \"kind\": \"const\"\n                              },\n                              {\n                                \"type\": \"ExpressionStatement\",\n                                \"start\": 10870,\n                                \"end\": 10919,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 394,\n                                    \"column\": 4\n                                  },\n                                  \"end\": {\n                                    \"line\": 394,\n                                    \"column\": 53\n                                  }\n                                },\n                                \"expression\": {\n                                  \"type\": \"AssignmentExpression\",\n                                  \"start\": 10870,\n                                  \"end\": 10918,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 394,\n                                      \"column\": 4\n                                    },\n                                    \"end\": {\n                                      \"line\": 394,\n                                      \"column\": 52\n                                    }\n                                  },\n                                  \"operator\": \"=\",\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 10870,\n                                    \"end\": 10877,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 394,\n                                        \"column\": 4\n                                      },\n                                      \"end\": {\n                                        \"line\": 394,\n                                        \"column\": 11\n                                      },\n                                      \"identifierName\": \"overlap\"\n                                    },\n                                    \"name\": \"overlap\"\n                                  },\n                                  \"right\": {\n                                    \"type\": \"ConditionalExpression\",\n                                    \"start\": 10880,\n                                    \"end\": 10918,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 394,\n                                        \"column\": 14\n                                      },\n                                      \"end\": {\n                                        \"line\": 394,\n                                        \"column\": 52\n                                      }\n                                    },\n                                    \"test\": {\n                                      \"type\": \"BinaryExpression\",\n                                      \"start\": 10880,\n                                      \"end\": 10897,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 394,\n                                          \"column\": 14\n                                        },\n                                        \"end\": {\n                                          \"line\": 394,\n                                          \"column\": 31\n                                        }\n                                      },\n                                      \"left\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10880,\n                                        \"end\": 10887,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 394,\n                                            \"column\": 14\n                                          },\n                                          \"end\": {\n                                            \"line\": 394,\n                                            \"column\": 21\n                                          },\n                                          \"identifierName\": \"option1\"\n                                        },\n                                        \"name\": \"option1\"\n                                      },\n                                      \"operator\": \"<\",\n                                      \"right\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10890,\n                                        \"end\": 10897,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 394,\n                                            \"column\": 24\n                                          },\n                                          \"end\": {\n                                            \"line\": 394,\n                                            \"column\": 31\n                                          },\n                                          \"identifierName\": \"option2\"\n                                        },\n                                        \"name\": \"option2\"\n                                      }\n                                    },\n                                    \"consequent\": {\n                                      \"type\": \"Identifier\",\n                                      \"start\": 10900,\n                                      \"end\": 10907,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 394,\n                                          \"column\": 34\n                                        },\n                                        \"end\": {\n                                          \"line\": 394,\n                                          \"column\": 41\n                                        },\n                                        \"identifierName\": \"option1\"\n                                      },\n                                      \"name\": \"option1\"\n                                    },\n                                    \"alternate\": {\n                                      \"type\": \"UnaryExpression\",\n                                      \"start\": 10910,\n                                      \"end\": 10918,\n                                      \"loc\": {\n                                        \"start\": {\n                                          \"line\": 394,\n                                          \"column\": 44\n                                        },\n                                        \"end\": {\n                                          \"line\": 394,\n                                          \"column\": 52\n                                        }\n                                      },\n                                      \"operator\": \"-\",\n                                      \"prefix\": true,\n                                      \"argument\": {\n                                        \"type\": \"Identifier\",\n                                        \"start\": 10911,\n                                        \"end\": 10918,\n                                        \"loc\": {\n                                          \"start\": {\n                                            \"line\": 394,\n                                            \"column\": 45\n                                          },\n                                          \"end\": {\n                                            \"line\": 394,\n                                            \"column\": 52\n                                          },\n                                          \"identifierName\": \"option2\"\n                                        },\n                                        \"name\": \"option2\"\n                                      },\n                                      \"extra\": {\n                                        \"parenthesizedArgument\": false\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            ],\n                            \"directives\": []\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    }\n                  },\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 10932,\n                    \"end\": 10972,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 398,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 398,\n                        \"column\": 42\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 10938,\n                        \"end\": 10971,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 398,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 398,\n                            \"column\": 41\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10938,\n                          \"end\": 10953,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 398,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 398,\n                              \"column\": 23\n                            },\n                            \"identifierName\": \"current_overlap\"\n                          },\n                          \"name\": \"current_overlap\"\n                        },\n                        \"init\": {\n                          \"type\": \"MemberExpression\",\n                          \"start\": 10957,\n                          \"end\": 10971,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 398,\n                              \"column\": 27\n                            },\n                            \"end\": {\n                              \"line\": 398,\n                              \"column\": 41\n                            }\n                          },\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 10957,\n                            \"end\": 10963,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 398,\n                                \"column\": 27\n                              },\n                              \"end\": {\n                                \"line\": 398,\n                                \"column\": 33\n                              },\n                              \"identifierName\": \"result\"\n                            },\n                            \"name\": \"result\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 10964,\n                            \"end\": 10971,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 398,\n                                \"column\": 34\n                              },\n                              \"end\": {\n                                \"line\": 398,\n                                \"column\": 41\n                              },\n                              \"identifierName\": \"overlap\"\n                            },\n                            \"name\": \"overlap\"\n                          },\n                          \"computed\": false\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"VariableDeclaration\",\n                    \"start\": 10975,\n                    \"end\": 11033,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 399,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 399,\n                        \"column\": 60\n                      }\n                    },\n                    \"declarations\": [\n                      {\n                        \"type\": \"VariableDeclarator\",\n                        \"start\": 10981,\n                        \"end\": 11032,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 399,\n                            \"column\": 8\n                          },\n                          \"end\": {\n                            \"line\": 399,\n                            \"column\": 59\n                          }\n                        },\n                        \"id\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 10981,\n                          \"end\": 10997,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 399,\n                              \"column\": 8\n                            },\n                            \"end\": {\n                              \"line\": 399,\n                              \"column\": 24\n                            },\n                            \"identifierName\": \"absolute_overlap\"\n                          },\n                          \"name\": \"absolute_overlap\"\n                        },\n                        \"init\": {\n                          \"type\": \"ConditionalExpression\",\n                          \"start\": 11000,\n                          \"end\": 11032,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 399,\n                              \"column\": 27\n                            },\n                            \"end\": {\n                              \"line\": 399,\n                              \"column\": 59\n                            }\n                          },\n                          \"test\": {\n                            \"type\": \"BinaryExpression\",\n                            \"start\": 11000,\n                            \"end\": 11011,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 399,\n                                \"column\": 27\n                              },\n                              \"end\": {\n                                \"line\": 399,\n                                \"column\": 38\n                              }\n                            },\n                            \"left\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 11000,\n                              \"end\": 11007,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 399,\n                                  \"column\": 27\n                                },\n                                \"end\": {\n                                  \"line\": 399,\n                                  \"column\": 34\n                                },\n                                \"identifierName\": \"overlap\"\n                              },\n                              \"name\": \"overlap\"\n                            },\n                            \"operator\": \"<\",\n                            \"right\": {\n                              \"type\": \"NumericLiteral\",\n                              \"start\": 11010,\n                              \"end\": 11011,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 399,\n                                  \"column\": 37\n                                },\n                                \"end\": {\n                                  \"line\": 399,\n                                  \"column\": 38\n                                }\n                              },\n                              \"extra\": {\n                                \"rawValue\": 0,\n                                \"raw\": \"0\"\n                              },\n                              \"value\": 0\n                            }\n                          },\n                          \"consequent\": {\n                            \"type\": \"UnaryExpression\",\n                            \"start\": 11014,\n                            \"end\": 11022,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 399,\n                                \"column\": 41\n                              },\n                              \"end\": {\n                                \"line\": 399,\n                                \"column\": 49\n                              }\n                            },\n                            \"operator\": \"-\",\n                            \"prefix\": true,\n                            \"argument\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 11015,\n                              \"end\": 11022,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 399,\n                                  \"column\": 42\n                                },\n                                \"end\": {\n                                  \"line\": 399,\n                                  \"column\": 49\n                                },\n                                \"identifierName\": \"overlap\"\n                              },\n                              \"name\": \"overlap\"\n                            },\n                            \"extra\": {\n                              \"parenthesizedArgument\": false\n                            }\n                          },\n                          \"alternate\": {\n                            \"type\": \"Identifier\",\n                            \"start\": 11025,\n                            \"end\": 11032,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 399,\n                                \"column\": 52\n                              },\n                              \"end\": {\n                                \"line\": 399,\n                                \"column\": 59\n                              },\n                              \"identifierName\": \"overlap\"\n                            },\n                            \"name\": \"overlap\"\n                          }\n                        }\n                      }\n                    ],\n                    \"kind\": \"const\"\n                  },\n                  {\n                    \"type\": \"IfStatement\",\n                    \"start\": 11037,\n                    \"end\": 11252,\n                    \"loc\": {\n                      \"start\": {\n                        \"line\": 401,\n                        \"column\": 2\n                      },\n                      \"end\": {\n                        \"line\": 407,\n                        \"column\": 3\n                      }\n                    },\n                    \"test\": {\n                      \"type\": \"LogicalExpression\",\n                      \"start\": 11040,\n                      \"end\": 11102,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 401,\n                          \"column\": 5\n                        },\n                        \"end\": {\n                          \"line\": 401,\n                          \"column\": 67\n                        }\n                      },\n                      \"left\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 11040,\n                        \"end\": 11064,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 401,\n                            \"column\": 5\n                          },\n                          \"end\": {\n                            \"line\": 401,\n                            \"column\": 29\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 11040,\n                          \"end\": 11055,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 401,\n                              \"column\": 5\n                            },\n                            \"end\": {\n                              \"line\": 401,\n                              \"column\": 20\n                            },\n                            \"identifierName\": \"current_overlap\"\n                          },\n                          \"name\": \"current_overlap\"\n                        },\n                        \"operator\": \"===\",\n                        \"right\": {\n                          \"type\": \"NullLiteral\",\n                          \"start\": 11060,\n                          \"end\": 11064,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 401,\n                              \"column\": 25\n                            },\n                            \"end\": {\n                              \"line\": 401,\n                              \"column\": 29\n                            }\n                          }\n                        }\n                      },\n                      \"operator\": \"||\",\n                      \"right\": {\n                        \"type\": \"BinaryExpression\",\n                        \"start\": 11068,\n                        \"end\": 11102,\n                        \"loc\": {\n                          \"start\": {\n                            \"line\": 401,\n                            \"column\": 33\n                          },\n                          \"end\": {\n                            \"line\": 401,\n                            \"column\": 67\n                          }\n                        },\n                        \"left\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 11068,\n                          \"end\": 11083,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 401,\n                              \"column\": 33\n                            },\n                            \"end\": {\n                              \"line\": 401,\n                              \"column\": 48\n                            },\n                            \"identifierName\": \"current_overlap\"\n                          },\n                          \"name\": \"current_overlap\"\n                        },\n                        \"operator\": \">\",\n                        \"right\": {\n                          \"type\": \"Identifier\",\n                          \"start\": 11086,\n                          \"end\": 11102,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 401,\n                              \"column\": 51\n                            },\n                            \"end\": {\n                              \"line\": 401,\n                              \"column\": 67\n                            },\n                            \"identifierName\": \"absolute_overlap\"\n                          },\n                          \"name\": \"absolute_overlap\"\n                        }\n                      }\n                    },\n                    \"consequent\": {\n                      \"type\": \"BlockStatement\",\n                      \"start\": 11104,\n                      \"end\": 11252,\n                      \"loc\": {\n                        \"start\": {\n                          \"line\": 401,\n                          \"column\": 69\n                        },\n                        \"end\": {\n                          \"line\": 407,\n                          \"column\": 3\n                        }\n                      },\n                      \"body\": [\n                        {\n                          \"type\": \"VariableDeclaration\",\n                          \"start\": 11109,\n                          \"end\": 11143,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 402,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 402,\n                              \"column\": 37\n                            }\n                          },\n                          \"declarations\": [\n                            {\n                              \"type\": \"VariableDeclarator\",\n                              \"start\": 11115,\n                              \"end\": 11142,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 402,\n                                  \"column\": 9\n                                },\n                                \"end\": {\n                                  \"line\": 402,\n                                  \"column\": 36\n                                }\n                              },\n                              \"id\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11115,\n                                \"end\": 11119,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 402,\n                                    \"column\": 9\n                                  },\n                                  \"end\": {\n                                    \"line\": 402,\n                                    \"column\": 13\n                                  },\n                                  \"identifierName\": \"sign\"\n                                },\n                                \"name\": \"sign\"\n                              },\n                              \"init\": {\n                                \"type\": \"ConditionalExpression\",\n                                \"start\": 11122,\n                                \"end\": 11142,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 402,\n                                    \"column\": 16\n                                  },\n                                  \"end\": {\n                                    \"line\": 402,\n                                    \"column\": 36\n                                  }\n                                },\n                                \"test\": {\n                                  \"type\": \"BinaryExpression\",\n                                  \"start\": 11122,\n                                  \"end\": 11133,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 402,\n                                      \"column\": 16\n                                    },\n                                    \"end\": {\n                                      \"line\": 402,\n                                      \"column\": 27\n                                    }\n                                  },\n                                  \"left\": {\n                                    \"type\": \"Identifier\",\n                                    \"start\": 11122,\n                                    \"end\": 11129,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 402,\n                                        \"column\": 16\n                                      },\n                                      \"end\": {\n                                        \"line\": 402,\n                                        \"column\": 23\n                                      },\n                                      \"identifierName\": \"overlap\"\n                                    },\n                                    \"name\": \"overlap\"\n                                  },\n                                  \"operator\": \"<\",\n                                  \"right\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 11132,\n                                    \"end\": 11133,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 402,\n                                        \"column\": 26\n                                      },\n                                      \"end\": {\n                                        \"line\": 402,\n                                        \"column\": 27\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 0,\n                                      \"raw\": \"0\"\n                                    },\n                                    \"value\": 0\n                                  }\n                                },\n                                \"consequent\": {\n                                  \"type\": \"UnaryExpression\",\n                                  \"start\": 11136,\n                                  \"end\": 11138,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 402,\n                                      \"column\": 30\n                                    },\n                                    \"end\": {\n                                      \"line\": 402,\n                                      \"column\": 32\n                                    }\n                                  },\n                                  \"operator\": \"-\",\n                                  \"prefix\": true,\n                                  \"argument\": {\n                                    \"type\": \"NumericLiteral\",\n                                    \"start\": 11137,\n                                    \"end\": 11138,\n                                    \"loc\": {\n                                      \"start\": {\n                                        \"line\": 402,\n                                        \"column\": 31\n                                      },\n                                      \"end\": {\n                                        \"line\": 402,\n                                        \"column\": 32\n                                      }\n                                    },\n                                    \"extra\": {\n                                      \"rawValue\": 1,\n                                      \"raw\": \"1\"\n                                    },\n                                    \"value\": 1\n                                  },\n                                  \"extra\": {\n                                    \"parenthesizedArgument\": false\n                                  }\n                                },\n                                \"alternate\": {\n                                  \"type\": \"NumericLiteral\",\n                                  \"start\": 11141,\n                                  \"end\": 11142,\n                                  \"loc\": {\n                                    \"start\": {\n                                      \"line\": 402,\n                                      \"column\": 35\n                                    },\n                                    \"end\": {\n                                      \"line\": 402,\n                                      \"column\": 36\n                                    }\n                                  },\n                                  \"extra\": {\n                                    \"rawValue\": 1,\n                                    \"raw\": \"1\"\n                                  },\n                                  \"value\": 1\n                                }\n                              }\n                            }\n                          ],\n                          \"kind\": \"const\"\n                        },\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 11148,\n                          \"end\": 11184,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 404,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 404,\n                              \"column\": 39\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 11148,\n                            \"end\": 11183,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 404,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 404,\n                                \"column\": 38\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 11148,\n                              \"end\": 11162,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 404,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 404,\n                                  \"column\": 17\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11148,\n                                \"end\": 11154,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 404,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 404,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11155,\n                                \"end\": 11162,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 404,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 404,\n                                    \"column\": 17\n                                  },\n                                  \"identifierName\": \"overlap\"\n                                },\n                                \"name\": \"overlap\"\n                              },\n                              \"computed\": false\n                            },\n                            \"right\": {\n                              \"type\": \"Identifier\",\n                              \"start\": 11167,\n                              \"end\": 11183,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 404,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 404,\n                                  \"column\": 38\n                                },\n                                \"identifierName\": \"absolute_overlap\"\n                              },\n                              \"name\": \"absolute_overlap\"\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 11188,\n                          \"end\": 11216,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 405,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 405,\n                              \"column\": 31\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 11188,\n                            \"end\": 11215,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 405,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 405,\n                                \"column\": 30\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 11188,\n                              \"end\": 11204,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 405,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 405,\n                                  \"column\": 19\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11188,\n                                \"end\": 11194,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 405,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 405,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11195,\n                                \"end\": 11204,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 405,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 405,\n                                    \"column\": 19\n                                  },\n                                  \"identifierName\": \"overlap_x\"\n                                },\n                                \"name\": \"overlap_x\"\n                              },\n                              \"computed\": false\n                            },\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 11207,\n                              \"end\": 11215,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 405,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 405,\n                                  \"column\": 30\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11207,\n                                \"end\": 11208,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 405,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 405,\n                                    \"column\": 23\n                                  },\n                                  \"identifierName\": \"x\"\n                                },\n                                \"name\": \"x\"\n                              },\n                              \"operator\": \"*\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11211,\n                                \"end\": 11215,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 405,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 405,\n                                    \"column\": 30\n                                  },\n                                  \"identifierName\": \"sign\"\n                                },\n                                \"name\": \"sign\"\n                              }\n                            }\n                          }\n                        },\n                        {\n                          \"type\": \"ExpressionStatement\",\n                          \"start\": 11220,\n                          \"end\": 11248,\n                          \"loc\": {\n                            \"start\": {\n                              \"line\": 406,\n                              \"column\": 3\n                            },\n                            \"end\": {\n                              \"line\": 406,\n                              \"column\": 31\n                            }\n                          },\n                          \"expression\": {\n                            \"type\": \"AssignmentExpression\",\n                            \"start\": 11220,\n                            \"end\": 11247,\n                            \"loc\": {\n                              \"start\": {\n                                \"line\": 406,\n                                \"column\": 3\n                              },\n                              \"end\": {\n                                \"line\": 406,\n                                \"column\": 30\n                              }\n                            },\n                            \"operator\": \"=\",\n                            \"left\": {\n                              \"type\": \"MemberExpression\",\n                              \"start\": 11220,\n                              \"end\": 11236,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 406,\n                                  \"column\": 3\n                                },\n                                \"end\": {\n                                  \"line\": 406,\n                                  \"column\": 19\n                                }\n                              },\n                              \"object\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11220,\n                                \"end\": 11226,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 406,\n                                    \"column\": 3\n                                  },\n                                  \"end\": {\n                                    \"line\": 406,\n                                    \"column\": 9\n                                  },\n                                  \"identifierName\": \"result\"\n                                },\n                                \"name\": \"result\"\n                              },\n                              \"property\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11227,\n                                \"end\": 11236,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 406,\n                                    \"column\": 10\n                                  },\n                                  \"end\": {\n                                    \"line\": 406,\n                                    \"column\": 19\n                                  },\n                                  \"identifierName\": \"overlap_y\"\n                                },\n                                \"name\": \"overlap_y\"\n                              },\n                              \"computed\": false\n                            },\n                            \"right\": {\n                              \"type\": \"BinaryExpression\",\n                              \"start\": 11239,\n                              \"end\": 11247,\n                              \"loc\": {\n                                \"start\": {\n                                  \"line\": 406,\n                                  \"column\": 22\n                                },\n                                \"end\": {\n                                  \"line\": 406,\n                                  \"column\": 30\n                                }\n                              },\n                              \"left\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11239,\n                                \"end\": 11240,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 406,\n                                    \"column\": 22\n                                  },\n                                  \"end\": {\n                                    \"line\": 406,\n                                    \"column\": 23\n                                  },\n                                  \"identifierName\": \"y\"\n                                },\n                                \"name\": \"y\"\n                              },\n                              \"operator\": \"*\",\n                              \"right\": {\n                                \"type\": \"Identifier\",\n                                \"start\": 11243,\n                                \"end\": 11247,\n                                \"loc\": {\n                                  \"start\": {\n                                    \"line\": 406,\n                                    \"column\": 26\n                                  },\n                                  \"end\": {\n                                    \"line\": 406,\n                                    \"column\": 30\n                                  },\n                                  \"identifierName\": \"sign\"\n                                },\n                                \"name\": \"sign\"\n                              }\n                            }\n                          }\n                        }\n                      ],\n                      \"directives\": []\n                    },\n                    \"alternate\": null\n                  }\n                ],\n                \"directives\": []\n              },\n              \"alternate\": null\n            },\n            {\n              \"type\": \"ReturnStatement\",\n              \"start\": 11258,\n              \"end\": 11271,\n              \"loc\": {\n                \"start\": {\n                  \"line\": 410,\n                  \"column\": 1\n                },\n                \"end\": {\n                  \"line\": 410,\n                  \"column\": 14\n                }\n              },\n              \"argument\": {\n                \"type\": \"BooleanLiteral\",\n                \"start\": 11265,\n                \"end\": 11270,\n                \"loc\": {\n                  \"start\": {\n                    \"line\": 410,\n                    \"column\": 8\n                  },\n                  \"end\": {\n                    \"line\": 410,\n                    \"column\": 13\n                  }\n                },\n                \"value\": false\n              }\n            }\n          ],\n          \"directives\": []\n        },\n        \"leadingComments\": [\n          {\n            \"type\": \"CommentBlock\",\n            \"value\": \"*\\n * Determines if two polygons are separated by an axis\\n * @param {Array<Number[]>} a_coords The coordinates of the polygon to test\\n * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against\\n * @param {Number} x The X direction of the axis\\n * @param {Number} y The Y direction of the axis\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n            \"start\": 9077,\n            \"end\": 9520,\n            \"loc\": {\n              \"start\": {\n                \"line\": 316,\n                \"column\": 0\n              },\n              \"end\": {\n                \"line\": 324,\n                \"column\": 3\n              }\n            }\n          }\n        ]\n      }\n    ],\n    \"directives\": []\n  },\n  \"comments\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two bodies are colliding using the Separating Axis Theorem\\n * @private\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\\n * @returns {Boolean}\\n \",\n      \"start\": 0,\n      \"end\": 462,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 9,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two bodies' axis aligned bounding boxes are colliding\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n \",\n      \"start\": 1713,\n      \"end\": 1917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two polygons are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Polygon} b The target polygon to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n      \"start\": 2835,\n      \"end\": 3115,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Handle points specially\",\n      \"start\": 3235,\n      \"end\": 3261,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if a polygon and a circle are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\\n * @returns {Boolean}\\n \",\n      \"start\": 4001,\n      \"end\": 4438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 150,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Handle points specially\",\n      \"start\": 4945,\n      \"end\": 4971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 175,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two circles are colliding\\n * @param {Circle} a The source circle to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n      \"start\": 8039,\n      \"end\": 8314,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 290,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two polygons are separated by an axis\\n * @param {Array<Number[]>} a_coords The coordinates of the polygon to test\\n * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against\\n * @param {Number} x The X direction of the axis\\n * @param {Number} y The Y direction of the axis\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n      \"start\": 9077,\n      \"end\": 9520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 316,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 3\n        }\n      }\n    }\n  ],\n  \"tokens\": [\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two bodies are colliding using the Separating Axis Theorem\\n * @private\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\\n * @returns {Boolean}\\n \",\n      \"start\": 0,\n      \"end\": 462,\n      \"loc\": {\n        \"start\": {\n          \"line\": 1,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 9,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"export\",\n        \"keyword\": \"export\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"export\",\n      \"start\": 463,\n      \"end\": 469,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"default\",\n        \"keyword\": \"default\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"default\",\n      \"start\": 470,\n      \"end\": 477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"function\",\n        \"keyword\": \"function\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"function\",\n      \"start\": 478,\n      \"end\": 486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"SAT\",\n      \"start\": 487,\n      \"end\": 490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 490,\n      \"end\": 491,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 491,\n      \"end\": 492,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 492,\n      \"end\": 493,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 494,\n      \"end\": 495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 495,\n      \"end\": 496,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 497,\n      \"end\": 503,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 504,\n      \"end\": 505,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 506,\n      \"end\": 510,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 510,\n      \"end\": 511,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabb\",\n      \"start\": 512,\n      \"end\": 516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 517,\n      \"end\": 518,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 519,\n      \"end\": 523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 523,\n      \"end\": 524,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 525,\n      \"end\": 526,\n      \"loc\": {\n        \"start\": {\n          \"line\": 10,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 10,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 528,\n      \"end\": 533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 534,\n      \"end\": 543,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 544,\n      \"end\": 545,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 546,\n      \"end\": 547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 547,\n      \"end\": 548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 548,\n      \"end\": 556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 556,\n      \"end\": 557,\n      \"loc\": {\n        \"start\": {\n          \"line\": 11,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 11,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 559,\n      \"end\": 564,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 565,\n      \"end\": 574,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 575,\n      \"end\": 576,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 577,\n      \"end\": 578,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 578,\n      \"end\": 579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 579,\n      \"end\": 587,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 587,\n      \"end\": 588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 12,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 12,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 591,\n      \"end\": 594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collision\",\n      \"start\": 595,\n      \"end\": 604,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 605,\n      \"end\": 606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 607,\n      \"end\": 612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 612,\n      \"end\": 613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 14,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 14,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 616,\n      \"end\": 618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 618,\n      \"end\": 619,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 619,\n      \"end\": 625,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 625,\n      \"end\": 626,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 627,\n      \"end\": 628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 16,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 16,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 631,\n      \"end\": 637,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 637,\n      \"end\": 638,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 638,\n      \"end\": 639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 648,\n      \"end\": 649,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 650,\n      \"end\": 651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 651,\n      \"end\": 652,\n      \"loc\": {\n        \"start\": {\n          \"line\": 17,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 17,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 655,\n      \"end\": 661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 661,\n      \"end\": 662,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 662,\n      \"end\": 663,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 672,\n      \"end\": 673,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 674,\n      \"end\": 675,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 675,\n      \"end\": 676,\n      \"loc\": {\n        \"start\": {\n          \"line\": 18,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 18,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 679,\n      \"end\": 685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 685,\n      \"end\": 686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 686,\n      \"end\": 692,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 696,\n      \"end\": 697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 698,\n      \"end\": 702,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 702,\n      \"end\": 703,\n      \"loc\": {\n        \"start\": {\n          \"line\": 19,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 19,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 706,\n      \"end\": 712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 712,\n      \"end\": 713,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 713,\n      \"end\": 719,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 723,\n      \"end\": 724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 725,\n      \"end\": 729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 729,\n      \"end\": 730,\n      \"loc\": {\n        \"start\": {\n          \"line\": 20,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 20,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 733,\n      \"end\": 739,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 739,\n      \"end\": 740,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 740,\n      \"end\": 747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 750,\n      \"end\": 751,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 752,\n      \"end\": 756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 756,\n      \"end\": 757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 21,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 21,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 760,\n      \"end\": 766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 766,\n      \"end\": 767,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 767,\n      \"end\": 776,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 777,\n      \"end\": 778,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 779,\n      \"end\": 780,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 780,\n      \"end\": 781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 22,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 22,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 784,\n      \"end\": 790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 790,\n      \"end\": 791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 791,\n      \"end\": 800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 801,\n      \"end\": 802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 803,\n      \"end\": 804,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 804,\n      \"end\": 805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 23,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 23,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 807,\n      \"end\": 808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 24,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 24,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 811,\n      \"end\": 813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 813,\n      \"end\": 814,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 814,\n      \"end\": 823,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 823,\n      \"end\": 824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 825,\n      \"end\": 826,\n      \"loc\": {\n        \"start\": {\n          \"line\": 26,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 26,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 829,\n      \"end\": 831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 831,\n      \"end\": 832,\n      \"loc\": {\n        \"start\": {\n          \"line\": 27,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 27,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 836,\n      \"end\": 837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 837,\n      \"end\": 838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 838,\n      \"end\": 851,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 852,\n      \"end\": 854,\n      \"loc\": {\n        \"start\": {\n          \"line\": 28,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 28,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 858,\n      \"end\": 859,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 859,\n      \"end\": 860,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 860,\n      \"end\": 861,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 868,\n      \"end\": 871,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 872,\n      \"end\": 873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 873,\n      \"end\": 874,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_x\",\n      \"start\": 874,\n      \"end\": 876,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 877,\n      \"end\": 879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 29,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 29,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 883,\n      \"end\": 884,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 884,\n      \"end\": 885,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 885,\n      \"end\": 886,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 893,\n      \"end\": 896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 897,\n      \"end\": 898,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 898,\n      \"end\": 899,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_y\",\n      \"start\": 899,\n      \"end\": 901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 902,\n      \"end\": 904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 30,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 30,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 908,\n      \"end\": 909,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 909,\n      \"end\": 910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 910,\n      \"end\": 915,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 918,\n      \"end\": 921,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 922,\n      \"end\": 923,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 923,\n      \"end\": 924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_angle\",\n      \"start\": 924,\n      \"end\": 930,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 931,\n      \"end\": 933,\n      \"loc\": {\n        \"start\": {\n          \"line\": 31,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 31,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 937,\n      \"end\": 938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 938,\n      \"end\": 939,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 939,\n      \"end\": 946,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 947,\n      \"end\": 950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 951,\n      \"end\": 952,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 952,\n      \"end\": 953,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_x\",\n      \"start\": 953,\n      \"end\": 961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 962,\n      \"end\": 964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 32,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 32,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 968,\n      \"end\": 969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 969,\n      \"end\": 970,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 970,\n      \"end\": 977,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 978,\n      \"end\": 981,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 982,\n      \"end\": 983,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 983,\n      \"end\": 984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_y\",\n      \"start\": 984,\n      \"end\": 992,\n      \"loc\": {\n        \"start\": {\n          \"line\": 33,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 33,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 995,\n      \"end\": 996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 997,\n      \"end\": 998,\n      \"loc\": {\n        \"start\": {\n          \"line\": 34,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 34,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1002,\n      \"end\": 1003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1003,\n      \"end\": 1004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateCoords\",\n      \"start\": 1004,\n      \"end\": 1020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1020,\n      \"end\": 1021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1021,\n      \"end\": 1022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1022,\n      \"end\": 1023,\n      \"loc\": {\n        \"start\": {\n          \"line\": 35,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 35,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1026,\n      \"end\": 1027,\n      \"loc\": {\n        \"start\": {\n          \"line\": 36,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 36,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1029,\n      \"end\": 1030,\n      \"loc\": {\n        \"start\": {\n          \"line\": 37,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 37,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1033,\n      \"end\": 1035,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1035,\n      \"end\": 1036,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 1036,\n      \"end\": 1045,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1045,\n      \"end\": 1046,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1047,\n      \"end\": 1048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 39,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 39,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1051,\n      \"end\": 1053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1053,\n      \"end\": 1054,\n      \"loc\": {\n        \"start\": {\n          \"line\": 40,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 40,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1058,\n      \"end\": 1059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1059,\n      \"end\": 1060,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_coords\",\n      \"start\": 1060,\n      \"end\": 1073,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1074,\n      \"end\": 1076,\n      \"loc\": {\n        \"start\": {\n          \"line\": 41,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 41,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1080,\n      \"end\": 1081,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1081,\n      \"end\": 1082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 1082,\n      \"end\": 1083,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1090,\n      \"end\": 1093,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1094,\n      \"end\": 1095,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1095,\n      \"end\": 1096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_x\",\n      \"start\": 1096,\n      \"end\": 1098,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1099,\n      \"end\": 1101,\n      \"loc\": {\n        \"start\": {\n          \"line\": 42,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 42,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1105,\n      \"end\": 1106,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1106,\n      \"end\": 1107,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 1107,\n      \"end\": 1108,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1115,\n      \"end\": 1118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1119,\n      \"end\": 1120,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1120,\n      \"end\": 1121,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_y\",\n      \"start\": 1121,\n      \"end\": 1123,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1124,\n      \"end\": 1126,\n      \"loc\": {\n        \"start\": {\n          \"line\": 43,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 43,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1130,\n      \"end\": 1131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1131,\n      \"end\": 1132,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"angle\",\n      \"start\": 1132,\n      \"end\": 1137,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1140,\n      \"end\": 1143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1144,\n      \"end\": 1145,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1145,\n      \"end\": 1146,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_angle\",\n      \"start\": 1146,\n      \"end\": 1152,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1153,\n      \"end\": 1155,\n      \"loc\": {\n        \"start\": {\n          \"line\": 44,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 44,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1159,\n      \"end\": 1160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1160,\n      \"end\": 1161,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_x\",\n      \"start\": 1161,\n      \"end\": 1168,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1169,\n      \"end\": 1172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1173,\n      \"end\": 1174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1174,\n      \"end\": 1175,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_x\",\n      \"start\": 1175,\n      \"end\": 1183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1184,\n      \"end\": 1186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 45,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 45,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1190,\n      \"end\": 1191,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1191,\n      \"end\": 1192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale_y\",\n      \"start\": 1192,\n      \"end\": 1199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"!==\",\n      \"start\": 1200,\n      \"end\": 1203,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1204,\n      \"end\": 1205,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1205,\n      \"end\": 1206,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_scale_y\",\n      \"start\": 1206,\n      \"end\": 1214,\n      \"loc\": {\n        \"start\": {\n          \"line\": 46,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 46,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1217,\n      \"end\": 1218,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1219,\n      \"end\": 1220,\n      \"loc\": {\n        \"start\": {\n          \"line\": 47,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 47,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1224,\n      \"end\": 1225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1225,\n      \"end\": 1226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateCoords\",\n      \"start\": 1226,\n      \"end\": 1242,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1242,\n      \"end\": 1243,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1243,\n      \"end\": 1244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1244,\n      \"end\": 1245,\n      \"loc\": {\n        \"start\": {\n          \"line\": 48,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 48,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1248,\n      \"end\": 1249,\n      \"loc\": {\n        \"start\": {\n          \"line\": 49,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 49,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1251,\n      \"end\": 1252,\n      \"loc\": {\n        \"start\": {\n          \"line\": 50,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 50,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1255,\n      \"end\": 1257,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1257,\n      \"end\": 1258,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 1258,\n      \"end\": 1259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabb\",\n      \"start\": 1259,\n      \"end\": 1263,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 1264,\n      \"end\": 1266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabbAABB\",\n      \"start\": 1267,\n      \"end\": 1275,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1275,\n      \"end\": 1276,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1276,\n      \"end\": 1277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1277,\n      \"end\": 1278,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1279,\n      \"end\": 1280,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1280,\n      \"end\": 1281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1281,\n      \"end\": 1282,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1283,\n      \"end\": 1284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 52,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 52,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1287,\n      \"end\": 1289,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1289,\n      \"end\": 1290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 1290,\n      \"end\": 1299,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 1300,\n      \"end\": 1302,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1303,\n      \"end\": 1304,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1304,\n      \"end\": 1305,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_normals\",\n      \"start\": 1305,\n      \"end\": 1319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1319,\n      \"end\": 1320,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1321,\n      \"end\": 1322,\n      \"loc\": {\n        \"start\": {\n          \"line\": 53,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 53,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1326,\n      \"end\": 1327,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1327,\n      \"end\": 1328,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateNormals\",\n      \"start\": 1328,\n      \"end\": 1345,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1345,\n      \"end\": 1346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1346,\n      \"end\": 1347,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1347,\n      \"end\": 1348,\n      \"loc\": {\n        \"start\": {\n          \"line\": 54,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 54,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1351,\n      \"end\": 1352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 55,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 55,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1356,\n      \"end\": 1358,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1358,\n      \"end\": 1359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 1359,\n      \"end\": 1368,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 1369,\n      \"end\": 1371,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1372,\n      \"end\": 1373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1373,\n      \"end\": 1374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_dirty_normals\",\n      \"start\": 1374,\n      \"end\": 1388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1388,\n      \"end\": 1389,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1390,\n      \"end\": 1391,\n      \"loc\": {\n        \"start\": {\n          \"line\": 57,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 57,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1395,\n      \"end\": 1396,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1396,\n      \"end\": 1397,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_calculateNormals\",\n      \"start\": 1397,\n      \"end\": 1414,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1414,\n      \"end\": 1415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1415,\n      \"end\": 1416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1416,\n      \"end\": 1417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 58,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 58,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1420,\n      \"end\": 1421,\n      \"loc\": {\n        \"start\": {\n          \"line\": 59,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 59,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collision\",\n      \"start\": 1425,\n      \"end\": 1434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1435,\n      \"end\": 1436,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1437,\n      \"end\": 1438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 61,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 61,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 1442,\n      \"end\": 1451,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 1452,\n      \"end\": 1454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 1455,\n      \"end\": 1464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1465,\n      \"end\": 1466,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygonPolygon\",\n      \"start\": 1467,\n      \"end\": 1481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1481,\n      \"end\": 1482,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1482,\n      \"end\": 1483,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1483,\n      \"end\": 1484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1485,\n      \"end\": 1486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1486,\n      \"end\": 1487,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1488,\n      \"end\": 1494,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1494,\n      \"end\": 1495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1496,\n      \"end\": 1497,\n      \"loc\": {\n        \"start\": {\n          \"line\": 62,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 62,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 1501,\n      \"end\": 1510,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1511,\n      \"end\": 1512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygonCircle\",\n      \"start\": 1513,\n      \"end\": 1526,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1526,\n      \"end\": 1527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1527,\n      \"end\": 1528,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1528,\n      \"end\": 1529,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1530,\n      \"end\": 1531,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1531,\n      \"end\": 1532,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1533,\n      \"end\": 1539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1539,\n      \"end\": 1540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 1541,\n      \"end\": 1546,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1546,\n      \"end\": 1547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1548,\n      \"end\": 1549,\n      \"loc\": {\n        \"start\": {\n          \"line\": 63,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 63,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 1553,\n      \"end\": 1562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1563,\n      \"end\": 1564,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygonCircle\",\n      \"start\": 1565,\n      \"end\": 1578,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1578,\n      \"end\": 1579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1579,\n      \"end\": 1580,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1580,\n      \"end\": 1581,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1582,\n      \"end\": 1583,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1583,\n      \"end\": 1584,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1585,\n      \"end\": 1591,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1591,\n      \"end\": 1592,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 1593,\n      \"end\": 1597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1597,\n      \"end\": 1598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1599,\n      \"end\": 1600,\n      \"loc\": {\n        \"start\": {\n          \"line\": 64,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 64,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"circleCircle\",\n      \"start\": 1604,\n      \"end\": 1616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1616,\n      \"end\": 1617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1617,\n      \"end\": 1618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1618,\n      \"end\": 1619,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1620,\n      \"end\": 1621,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1621,\n      \"end\": 1622,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1623,\n      \"end\": 1629,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1629,\n      \"end\": 1630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 65,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 65,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1633,\n      \"end\": 1634,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1634,\n      \"end\": 1635,\n      \"loc\": {\n        \"start\": {\n          \"line\": 66,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 66,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1637,\n      \"end\": 1638,\n      \"loc\": {\n        \"start\": {\n          \"line\": 67,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 67,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 1641,\n      \"end\": 1643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1643,\n      \"end\": 1644,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1644,\n      \"end\": 1650,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1650,\n      \"end\": 1651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1652,\n      \"end\": 1653,\n      \"loc\": {\n        \"start\": {\n          \"line\": 69,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 69,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 1656,\n      \"end\": 1662,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1662,\n      \"end\": 1663,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collision\",\n      \"start\": 1663,\n      \"end\": 1672,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1673,\n      \"end\": 1674,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collision\",\n      \"start\": 1675,\n      \"end\": 1684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1684,\n      \"end\": 1685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 70,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 70,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1687,\n      \"end\": 1688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 71,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 71,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 1691,\n      \"end\": 1697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"collision\",\n      \"start\": 1698,\n      \"end\": 1707,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1707,\n      \"end\": 1708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 73,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 73,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1709,\n      \"end\": 1710,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1710,\n      \"end\": 1711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 74,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 74,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two bodies' axis aligned bounding boxes are colliding\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n \",\n      \"start\": 1713,\n      \"end\": 1917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 76,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 80,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"function\",\n        \"keyword\": \"function\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"function\",\n      \"start\": 1918,\n      \"end\": 1926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"aabbAABB\",\n      \"start\": 1927,\n      \"end\": 1935,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1935,\n      \"end\": 1936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1936,\n      \"end\": 1937,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1937,\n      \"end\": 1938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 1939,\n      \"end\": 1940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1940,\n      \"end\": 1941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 1942,\n      \"end\": 1943,\n      \"loc\": {\n        \"start\": {\n          \"line\": 81,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 81,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1945,\n      \"end\": 1950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 1951,\n      \"end\": 1960,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1961,\n      \"end\": 1962,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 1963,\n      \"end\": 1964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1964,\n      \"end\": 1965,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 1965,\n      \"end\": 1973,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 1973,\n      \"end\": 1974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 82,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 82,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 1976,\n      \"end\": 1981,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_x\",\n      \"start\": 1982,\n      \"end\": 1985,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 1992,\n      \"end\": 1993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 1994,\n      \"end\": 2003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2004,\n      \"end\": 2005,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2006,\n      \"end\": 2007,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2008,\n      \"end\": 2009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2010,\n      \"end\": 2011,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2011,\n      \"end\": 2012,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 2012,\n      \"end\": 2013,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2013,\n      \"end\": 2014,\n      \"loc\": {\n        \"start\": {\n          \"line\": 83,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 83,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2016,\n      \"end\": 2021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_y\",\n      \"start\": 2022,\n      \"end\": 2025,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2032,\n      \"end\": 2033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 2034,\n      \"end\": 2043,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2044,\n      \"end\": 2045,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2046,\n      \"end\": 2047,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2048,\n      \"end\": 2049,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2050,\n      \"end\": 2051,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2051,\n      \"end\": 2052,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 2052,\n      \"end\": 2053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2053,\n      \"end\": 2054,\n      \"loc\": {\n        \"start\": {\n          \"line\": 84,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 84,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2056,\n      \"end\": 2061,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 2062,\n      \"end\": 2070,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2072,\n      \"end\": 2073,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 2074,\n      \"end\": 2083,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2084,\n      \"end\": 2085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2086,\n      \"end\": 2087,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2088,\n      \"end\": 2089,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2090,\n      \"end\": 2091,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2091,\n      \"end\": 2092,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 2092,\n      \"end\": 2098,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 2099,\n      \"end\": 2100,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2101,\n      \"end\": 2102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2102,\n      \"end\": 2103,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 2103,\n      \"end\": 2108,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2108,\n      \"end\": 2109,\n      \"loc\": {\n        \"start\": {\n          \"line\": 85,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 85,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2111,\n      \"end\": 2116,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_min_x\",\n      \"start\": 2117,\n      \"end\": 2124,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2127,\n      \"end\": 2128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 2129,\n      \"end\": 2138,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2139,\n      \"end\": 2140,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2141,\n      \"end\": 2142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2142,\n      \"end\": 2143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_x\",\n      \"start\": 2143,\n      \"end\": 2149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2150,\n      \"end\": 2151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_x\",\n      \"start\": 2152,\n      \"end\": 2155,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2156,\n      \"end\": 2157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 2158,\n      \"end\": 2166,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2166,\n      \"end\": 2167,\n      \"loc\": {\n        \"start\": {\n          \"line\": 86,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 86,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2169,\n      \"end\": 2174,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_min_y\",\n      \"start\": 2175,\n      \"end\": 2182,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2185,\n      \"end\": 2186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 2187,\n      \"end\": 2196,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2197,\n      \"end\": 2198,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2199,\n      \"end\": 2200,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2200,\n      \"end\": 2201,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_y\",\n      \"start\": 2201,\n      \"end\": 2207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2208,\n      \"end\": 2209,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_y\",\n      \"start\": 2210,\n      \"end\": 2213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2214,\n      \"end\": 2215,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 2216,\n      \"end\": 2224,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2224,\n      \"end\": 2225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 87,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 87,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2227,\n      \"end\": 2232,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_max_x\",\n      \"start\": 2233,\n      \"end\": 2240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2243,\n      \"end\": 2244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 2245,\n      \"end\": 2254,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2255,\n      \"end\": 2256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2257,\n      \"end\": 2258,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2258,\n      \"end\": 2259,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_x\",\n      \"start\": 2259,\n      \"end\": 2265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2266,\n      \"end\": 2267,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_x\",\n      \"start\": 2268,\n      \"end\": 2271,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 2272,\n      \"end\": 2273,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 2274,\n      \"end\": 2282,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2282,\n      \"end\": 2283,\n      \"loc\": {\n        \"start\": {\n          \"line\": 88,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 88,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2285,\n      \"end\": 2290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_max_y\",\n      \"start\": 2291,\n      \"end\": 2298,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2301,\n      \"end\": 2302,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_polygon\",\n      \"start\": 2303,\n      \"end\": 2312,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2313,\n      \"end\": 2314,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 2315,\n      \"end\": 2316,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2316,\n      \"end\": 2317,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_y\",\n      \"start\": 2317,\n      \"end\": 2323,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2324,\n      \"end\": 2325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_y\",\n      \"start\": 2326,\n      \"end\": 2329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 2330,\n      \"end\": 2331,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 2332,\n      \"end\": 2340,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2340,\n      \"end\": 2341,\n      \"loc\": {\n        \"start\": {\n          \"line\": 89,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 89,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2344,\n      \"end\": 2349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2350,\n      \"end\": 2359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2360,\n      \"end\": 2361,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2362,\n      \"end\": 2363,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2363,\n      \"end\": 2364,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_polygon\",\n      \"start\": 2364,\n      \"end\": 2372,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2372,\n      \"end\": 2373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 91,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 91,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2375,\n      \"end\": 2380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_x\",\n      \"start\": 2381,\n      \"end\": 2384,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2391,\n      \"end\": 2392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2393,\n      \"end\": 2402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2403,\n      \"end\": 2404,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2405,\n      \"end\": 2406,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2407,\n      \"end\": 2408,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2409,\n      \"end\": 2410,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2410,\n      \"end\": 2411,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 2411,\n      \"end\": 2412,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2412,\n      \"end\": 2413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 92,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 92,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2415,\n      \"end\": 2420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_y\",\n      \"start\": 2421,\n      \"end\": 2424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2431,\n      \"end\": 2432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2433,\n      \"end\": 2442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2443,\n      \"end\": 2444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2445,\n      \"end\": 2446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2447,\n      \"end\": 2448,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2449,\n      \"end\": 2450,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2450,\n      \"end\": 2451,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 2451,\n      \"end\": 2452,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2452,\n      \"end\": 2453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 93,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 93,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2455,\n      \"end\": 2460,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 2461,\n      \"end\": 2469,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2471,\n      \"end\": 2472,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2473,\n      \"end\": 2482,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2483,\n      \"end\": 2484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 2485,\n      \"end\": 2486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2487,\n      \"end\": 2488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2489,\n      \"end\": 2490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2490,\n      \"end\": 2491,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 2491,\n      \"end\": 2497,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 2498,\n      \"end\": 2499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2500,\n      \"end\": 2501,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2501,\n      \"end\": 2502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 2502,\n      \"end\": 2507,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2507,\n      \"end\": 2508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 94,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 94,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2510,\n      \"end\": 2515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_min_x\",\n      \"start\": 2516,\n      \"end\": 2523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2526,\n      \"end\": 2527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2528,\n      \"end\": 2537,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2538,\n      \"end\": 2539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2540,\n      \"end\": 2541,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2541,\n      \"end\": 2542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_x\",\n      \"start\": 2542,\n      \"end\": 2548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2549,\n      \"end\": 2550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_x\",\n      \"start\": 2551,\n      \"end\": 2554,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2555,\n      \"end\": 2556,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 2557,\n      \"end\": 2565,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2565,\n      \"end\": 2566,\n      \"loc\": {\n        \"start\": {\n          \"line\": 95,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 95,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2568,\n      \"end\": 2573,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_min_y\",\n      \"start\": 2574,\n      \"end\": 2581,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2584,\n      \"end\": 2585,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2586,\n      \"end\": 2595,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2596,\n      \"end\": 2597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2598,\n      \"end\": 2599,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2599,\n      \"end\": 2600,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_min_y\",\n      \"start\": 2600,\n      \"end\": 2606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2607,\n      \"end\": 2608,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_y\",\n      \"start\": 2609,\n      \"end\": 2612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 2613,\n      \"end\": 2614,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 2615,\n      \"end\": 2623,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2623,\n      \"end\": 2624,\n      \"loc\": {\n        \"start\": {\n          \"line\": 96,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 96,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2626,\n      \"end\": 2631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_max_x\",\n      \"start\": 2632,\n      \"end\": 2639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2642,\n      \"end\": 2643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2644,\n      \"end\": 2653,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2654,\n      \"end\": 2655,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2656,\n      \"end\": 2657,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2657,\n      \"end\": 2658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_x\",\n      \"start\": 2658,\n      \"end\": 2664,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2665,\n      \"end\": 2666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_x\",\n      \"start\": 2667,\n      \"end\": 2670,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 2671,\n      \"end\": 2672,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 2673,\n      \"end\": 2681,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2681,\n      \"end\": 2682,\n      \"loc\": {\n        \"start\": {\n          \"line\": 97,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 97,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 2684,\n      \"end\": 2689,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_max_y\",\n      \"start\": 2690,\n      \"end\": 2697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 2700,\n      \"end\": 2701,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_polygon\",\n      \"start\": 2702,\n      \"end\": 2711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2712,\n      \"end\": 2713,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 2714,\n      \"end\": 2715,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2715,\n      \"end\": 2716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_max_y\",\n      \"start\": 2716,\n      \"end\": 2722,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2723,\n      \"end\": 2724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_y\",\n      \"start\": 2725,\n      \"end\": 2728,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 2729,\n      \"end\": 2730,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 2731,\n      \"end\": 2739,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2739,\n      \"end\": 2740,\n      \"loc\": {\n        \"start\": {\n          \"line\": 98,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 98,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 2743,\n      \"end\": 2749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_min_x\",\n      \"start\": 2750,\n      \"end\": 2757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 2758,\n      \"end\": 2759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_max_x\",\n      \"start\": 2760,\n      \"end\": 2767,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 2768,\n      \"end\": 2770,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_min_y\",\n      \"start\": 2771,\n      \"end\": 2778,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 2779,\n      \"end\": 2780,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_max_y\",\n      \"start\": 2781,\n      \"end\": 2788,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 2789,\n      \"end\": 2791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_max_x\",\n      \"start\": 2792,\n      \"end\": 2799,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 2800,\n      \"end\": 2801,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_min_x\",\n      \"start\": 2802,\n      \"end\": 2809,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 2810,\n      \"end\": 2812,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_max_y\",\n      \"start\": 2813,\n      \"end\": 2820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 2821,\n      \"end\": 2822,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 79\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 80\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_min_y\",\n      \"start\": 2823,\n      \"end\": 2830,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 88\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 2830,\n      \"end\": 2831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 100,\n          \"column\": 88\n        },\n        \"end\": {\n          \"line\": 100,\n          \"column\": 89\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 2832,\n      \"end\": 2833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 101,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 101,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two polygons are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Polygon} b The target polygon to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n      \"start\": 2835,\n      \"end\": 3115,\n      \"loc\": {\n        \"start\": {\n          \"line\": 103,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 109,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"function\",\n        \"keyword\": \"function\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"function\",\n      \"start\": 3116,\n      \"end\": 3124,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygonPolygon\",\n      \"start\": 3125,\n      \"end\": 3139,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3139,\n      \"end\": 3140,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 3140,\n      \"end\": 3141,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3141,\n      \"end\": 3142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 3143,\n      \"end\": 3144,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3144,\n      \"end\": 3145,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 3146,\n      \"end\": 3152,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3153,\n      \"end\": 3154,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 3155,\n      \"end\": 3159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3159,\n      \"end\": 3160,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3161,\n      \"end\": 3162,\n      \"loc\": {\n        \"start\": {\n          \"line\": 110,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 110,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3164,\n      \"end\": 3169,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_count\",\n      \"start\": 3170,\n      \"end\": 3177,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3178,\n      \"end\": 3179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 3180,\n      \"end\": 3181,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3181,\n      \"end\": 3182,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3182,\n      \"end\": 3189,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3189,\n      \"end\": 3190,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 3190,\n      \"end\": 3196,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3196,\n      \"end\": 3197,\n      \"loc\": {\n        \"start\": {\n          \"line\": 111,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 111,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3199,\n      \"end\": 3204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_count\",\n      \"start\": 3205,\n      \"end\": 3212,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3213,\n      \"end\": 3214,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 3215,\n      \"end\": 3216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3216,\n      \"end\": 3217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3217,\n      \"end\": 3224,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3224,\n      \"end\": 3225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 3225,\n      \"end\": 3231,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3231,\n      \"end\": 3232,\n      \"loc\": {\n        \"start\": {\n          \"line\": 112,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 112,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Handle points specially\",\n      \"start\": 3235,\n      \"end\": 3261,\n      \"loc\": {\n        \"start\": {\n          \"line\": 114,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 114,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 3263,\n      \"end\": 3265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3265,\n      \"end\": 3266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_count\",\n      \"start\": 3266,\n      \"end\": 3273,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 3274,\n      \"end\": 3277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3278,\n      \"end\": 3279,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 3280,\n      \"end\": 3282,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_count\",\n      \"start\": 3283,\n      \"end\": 3290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 3291,\n      \"end\": 3294,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3295,\n      \"end\": 3296,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3296,\n      \"end\": 3297,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3298,\n      \"end\": 3299,\n      \"loc\": {\n        \"start\": {\n          \"line\": 115,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 115,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3302,\n      \"end\": 3307,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 3308,\n      \"end\": 3316,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3317,\n      \"end\": 3318,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 3319,\n      \"end\": 3320,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3320,\n      \"end\": 3321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3321,\n      \"end\": 3328,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3328,\n      \"end\": 3329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 116,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 116,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3332,\n      \"end\": 3337,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 3338,\n      \"end\": 3346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3347,\n      \"end\": 3348,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 3349,\n      \"end\": 3350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3350,\n      \"end\": 3351,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3351,\n      \"end\": 3358,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3358,\n      \"end\": 3359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 117,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 117,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 3363,\n      \"end\": 3365,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3365,\n      \"end\": 3366,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 3366,\n      \"end\": 3372,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3372,\n      \"end\": 3373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3374,\n      \"end\": 3375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 119,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 119,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 3379,\n      \"end\": 3385,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3385,\n      \"end\": 3386,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 3386,\n      \"end\": 3393,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3394,\n      \"end\": 3395,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3396,\n      \"end\": 3397,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3397,\n      \"end\": 3398,\n      \"loc\": {\n        \"start\": {\n          \"line\": 120,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 120,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3401,\n      \"end\": 3402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 121,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 121,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3406,\n      \"end\": 3412,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 3413,\n      \"end\": 3421,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3421,\n      \"end\": 3422,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3422,\n      \"end\": 3423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3423,\n      \"end\": 3424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 3425,\n      \"end\": 3428,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 3429,\n      \"end\": 3437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3437,\n      \"end\": 3438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3438,\n      \"end\": 3439,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3439,\n      \"end\": 3440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 3441,\n      \"end\": 3443,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 3444,\n      \"end\": 3452,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3452,\n      \"end\": 3453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 3453,\n      \"end\": 3454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3454,\n      \"end\": 3455,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 3456,\n      \"end\": 3459,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 3460,\n      \"end\": 3468,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3468,\n      \"end\": 3469,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 3469,\n      \"end\": 3470,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3470,\n      \"end\": 3471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3471,\n      \"end\": 3472,\n      \"loc\": {\n        \"start\": {\n          \"line\": 123,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 123,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3474,\n      \"end\": 3475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 124,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 124,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3478,\n      \"end\": 3483,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 3484,\n      \"end\": 3492,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3494,\n      \"end\": 3495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 3496,\n      \"end\": 3497,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3497,\n      \"end\": 3498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3498,\n      \"end\": 3505,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3505,\n      \"end\": 3506,\n      \"loc\": {\n        \"start\": {\n          \"line\": 126,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 126,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3508,\n      \"end\": 3513,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 3514,\n      \"end\": 3522,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3524,\n      \"end\": 3525,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 3526,\n      \"end\": 3527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3527,\n      \"end\": 3528,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 3528,\n      \"end\": 3535,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3535,\n      \"end\": 3536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 127,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 127,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3538,\n      \"end\": 3543,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_normals\",\n      \"start\": 3544,\n      \"end\": 3553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3554,\n      \"end\": 3555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 3556,\n      \"end\": 3557,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3557,\n      \"end\": 3558,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_normals\",\n      \"start\": 3558,\n      \"end\": 3566,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3566,\n      \"end\": 3567,\n      \"loc\": {\n        \"start\": {\n          \"line\": 128,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 128,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 3569,\n      \"end\": 3574,\n      \"loc\": {\n        \"start\": {\n          \"line\": 129,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_normals\",\n      \"start\": 3575,\n      \"end\": 3584,\n      \"loc\": {\n        \"start\": {\n          \"line\": 129,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3585,\n      \"end\": 3586,\n      \"loc\": {\n        \"start\": {\n          \"line\": 129,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 3587,\n      \"end\": 3588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 129,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3588,\n      \"end\": 3589,\n      \"loc\": {\n        \"start\": {\n          \"line\": 129,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_normals\",\n      \"start\": 3589,\n      \"end\": 3597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 129,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3597,\n      \"end\": 3598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 129,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 129,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 3601,\n      \"end\": 3603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3603,\n      \"end\": 3604,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_count\",\n      \"start\": 3604,\n      \"end\": 3611,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 3612,\n      \"end\": 3613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3614,\n      \"end\": 3615,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3615,\n      \"end\": 3616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3617,\n      \"end\": 3618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 131,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 131,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 3621,\n      \"end\": 3624,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3624,\n      \"end\": 3625,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3625,\n      \"end\": 3628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3629,\n      \"end\": 3631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3632,\n      \"end\": 3633,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3634,\n      \"end\": 3635,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3635,\n      \"end\": 3636,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3637,\n      \"end\": 3639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3640,\n      \"end\": 3641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 3642,\n      \"end\": 3643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3643,\n      \"end\": 3644,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3645,\n      \"end\": 3647,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 3648,\n      \"end\": 3649,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_count\",\n      \"start\": 3650,\n      \"end\": 3657,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3657,\n      \"end\": 3658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3659,\n      \"end\": 3661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3662,\n      \"end\": 3664,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3665,\n      \"end\": 3666,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3666,\n      \"end\": 3667,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3668,\n      \"end\": 3670,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3671,\n      \"end\": 3673,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3674,\n      \"end\": 3675,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3675,\n      \"end\": 3676,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3677,\n      \"end\": 3678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 132,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 132,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 3682,\n      \"end\": 3684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3684,\n      \"end\": 3685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"separatingAxis\",\n      \"start\": 3685,\n      \"end\": 3699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3699,\n      \"end\": 3700,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 3700,\n      \"end\": 3708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3708,\n      \"end\": 3709,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 3710,\n      \"end\": 3718,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3718,\n      \"end\": 3719,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_normals\",\n      \"start\": 3720,\n      \"end\": 3729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3729,\n      \"end\": 3730,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3730,\n      \"end\": 3732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3732,\n      \"end\": 3733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3733,\n      \"end\": 3734,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_normals\",\n      \"start\": 3735,\n      \"end\": 3744,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3744,\n      \"end\": 3745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3745,\n      \"end\": 3747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3747,\n      \"end\": 3748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3748,\n      \"end\": 3749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 3750,\n      \"end\": 3756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3756,\n      \"end\": 3757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 77\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3757,\n      \"end\": 3758,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3759,\n      \"end\": 3760,\n      \"loc\": {\n        \"start\": {\n          \"line\": 133,\n          \"column\": 80\n        },\n        \"end\": {\n          \"line\": 133,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3765,\n      \"end\": 3771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 3772,\n      \"end\": 3777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3777,\n      \"end\": 3778,\n      \"loc\": {\n        \"start\": {\n          \"line\": 134,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 134,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3782,\n      \"end\": 3783,\n      \"loc\": {\n        \"start\": {\n          \"line\": 135,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 135,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3786,\n      \"end\": 3787,\n      \"loc\": {\n        \"start\": {\n          \"line\": 136,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 136,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3789,\n      \"end\": 3790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 137,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 137,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 3793,\n      \"end\": 3795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 139,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3795,\n      \"end\": 3796,\n      \"loc\": {\n        \"start\": {\n          \"line\": 139,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_count\",\n      \"start\": 3796,\n      \"end\": 3803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 139,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 3804,\n      \"end\": 3805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 139,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3806,\n      \"end\": 3807,\n      \"loc\": {\n        \"start\": {\n          \"line\": 139,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3807,\n      \"end\": 3808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 139,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3809,\n      \"end\": 3810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 139,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 139,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 3813,\n      \"end\": 3816,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3816,\n      \"end\": 3817,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 3817,\n      \"end\": 3820,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3821,\n      \"end\": 3823,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3824,\n      \"end\": 3825,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 3826,\n      \"end\": 3827,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3827,\n      \"end\": 3828,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3829,\n      \"end\": 3831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 3832,\n      \"end\": 3833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 3834,\n      \"end\": 3835,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3835,\n      \"end\": 3836,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3837,\n      \"end\": 3839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 3840,\n      \"end\": 3841,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_count\",\n      \"start\": 3842,\n      \"end\": 3849,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3849,\n      \"end\": 3850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3851,\n      \"end\": 3853,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3854,\n      \"end\": 3856,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3857,\n      \"end\": 3858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3858,\n      \"end\": 3859,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3860,\n      \"end\": 3862,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 3863,\n      \"end\": 3865,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 3866,\n      \"end\": 3867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3867,\n      \"end\": 3868,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3869,\n      \"end\": 3870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 140,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 140,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 3874,\n      \"end\": 3876,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3876,\n      \"end\": 3877,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"separatingAxis\",\n      \"start\": 3877,\n      \"end\": 3891,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3891,\n      \"end\": 3892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 3892,\n      \"end\": 3900,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3900,\n      \"end\": 3901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 3902,\n      \"end\": 3910,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3910,\n      \"end\": 3911,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_normals\",\n      \"start\": 3912,\n      \"end\": 3921,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3921,\n      \"end\": 3922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 3922,\n      \"end\": 3924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3924,\n      \"end\": 3925,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3925,\n      \"end\": 3926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_normals\",\n      \"start\": 3927,\n      \"end\": 3936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3936,\n      \"end\": 3937,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 3937,\n      \"end\": 3939,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3939,\n      \"end\": 3940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3940,\n      \"end\": 3941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 3942,\n      \"end\": 3948,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 71\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3948,\n      \"end\": 3949,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 77\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 78\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3949,\n      \"end\": 3950,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3951,\n      \"end\": 3952,\n      \"loc\": {\n        \"start\": {\n          \"line\": 141,\n          \"column\": 80\n        },\n        \"end\": {\n          \"line\": 141,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3957,\n      \"end\": 3963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 142,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 142,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 3964,\n      \"end\": 3969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 142,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 142,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3969,\n      \"end\": 3970,\n      \"loc\": {\n        \"start\": {\n          \"line\": 142,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 142,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3974,\n      \"end\": 3975,\n      \"loc\": {\n        \"start\": {\n          \"line\": 143,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 143,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3978,\n      \"end\": 3979,\n      \"loc\": {\n        \"start\": {\n          \"line\": 144,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 144,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3981,\n      \"end\": 3982,\n      \"loc\": {\n        \"start\": {\n          \"line\": 145,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 145,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 3985,\n      \"end\": 3991,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 3992,\n      \"end\": 3996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 3996,\n      \"end\": 3997,\n      \"loc\": {\n        \"start\": {\n          \"line\": 147,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 147,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 3998,\n      \"end\": 3999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 148,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 148,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if a polygon and a circle are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\\n * @returns {Boolean}\\n \",\n      \"start\": 4001,\n      \"end\": 4438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 150,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 157,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"function\",\n        \"keyword\": \"function\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"function\",\n      \"start\": 4439,\n      \"end\": 4447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"polygonCircle\",\n      \"start\": 4448,\n      \"end\": 4461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4461,\n      \"end\": 4462,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 4462,\n      \"end\": 4463,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4463,\n      \"end\": 4464,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 4465,\n      \"end\": 4466,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4466,\n      \"end\": 4467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 4468,\n      \"end\": 4474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4475,\n      \"end\": 4476,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 4477,\n      \"end\": 4481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4481,\n      \"end\": 4482,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"reverse\",\n      \"start\": 4483,\n      \"end\": 4490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4491,\n      \"end\": 4492,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 4493,\n      \"end\": 4498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4498,\n      \"end\": 4499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4500,\n      \"end\": 4501,\n      \"loc\": {\n        \"start\": {\n          \"line\": 158,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 158,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4503,\n      \"end\": 4508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 4509,\n      \"end\": 4517,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4524,\n      \"end\": 4525,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 4526,\n      \"end\": 4527,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4527,\n      \"end\": 4528,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_coords\",\n      \"start\": 4528,\n      \"end\": 4535,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4535,\n      \"end\": 4536,\n      \"loc\": {\n        \"start\": {\n          \"line\": 159,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 159,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4538,\n      \"end\": 4543,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_edges\",\n      \"start\": 4544,\n      \"end\": 4551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4559,\n      \"end\": 4560,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 4561,\n      \"end\": 4562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4562,\n      \"end\": 4563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_edges\",\n      \"start\": 4563,\n      \"end\": 4569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4569,\n      \"end\": 4570,\n      \"loc\": {\n        \"start\": {\n          \"line\": 160,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 160,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4572,\n      \"end\": 4577,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_normals\",\n      \"start\": 4578,\n      \"end\": 4587,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4593,\n      \"end\": 4594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 4595,\n      \"end\": 4596,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4596,\n      \"end\": 4597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"_normals\",\n      \"start\": 4597,\n      \"end\": 4605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4605,\n      \"end\": 4606,\n      \"loc\": {\n        \"start\": {\n          \"line\": 161,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 161,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4608,\n      \"end\": 4613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_x\",\n      \"start\": 4614,\n      \"end\": 4617,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4629,\n      \"end\": 4630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 4631,\n      \"end\": 4632,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4632,\n      \"end\": 4633,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 4633,\n      \"end\": 4634,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4634,\n      \"end\": 4635,\n      \"loc\": {\n        \"start\": {\n          \"line\": 162,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 162,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4637,\n      \"end\": 4642,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_y\",\n      \"start\": 4643,\n      \"end\": 4646,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4658,\n      \"end\": 4659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 4660,\n      \"end\": 4661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4661,\n      \"end\": 4662,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 4662,\n      \"end\": 4663,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4663,\n      \"end\": 4664,\n      \"loc\": {\n        \"start\": {\n          \"line\": 163,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 163,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4666,\n      \"end\": 4671,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 4672,\n      \"end\": 4680,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4687,\n      \"end\": 4688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 4689,\n      \"end\": 4690,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4690,\n      \"end\": 4691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 4691,\n      \"end\": 4697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 4698,\n      \"end\": 4699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 4700,\n      \"end\": 4701,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4701,\n      \"end\": 4702,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 4702,\n      \"end\": 4707,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4707,\n      \"end\": 4708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 164,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 164,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4710,\n      \"end\": 4715,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius2\",\n      \"start\": 4716,\n      \"end\": 4725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4731,\n      \"end\": 4732,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 4733,\n      \"end\": 4741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 4742,\n      \"end\": 4743,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 4744,\n      \"end\": 4745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4745,\n      \"end\": 4746,\n      \"loc\": {\n        \"start\": {\n          \"line\": 165,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 165,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4748,\n      \"end\": 4753,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_squared\",\n      \"start\": 4754,\n      \"end\": 4768,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4769,\n      \"end\": 4770,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 4771,\n      \"end\": 4779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 4780,\n      \"end\": 4781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 4782,\n      \"end\": 4790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4790,\n      \"end\": 4791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 166,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 166,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4793,\n      \"end\": 4798,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 4799,\n      \"end\": 4804,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4814,\n      \"end\": 4815,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 4816,\n      \"end\": 4824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4824,\n      \"end\": 4825,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 4825,\n      \"end\": 4831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4831,\n      \"end\": 4832,\n      \"loc\": {\n        \"start\": {\n          \"line\": 167,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 167,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 4835,\n      \"end\": 4838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 4839,\n      \"end\": 4845,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4849,\n      \"end\": 4850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 4851,\n      \"end\": 4855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4855,\n      \"end\": 4856,\n      \"loc\": {\n        \"start\": {\n          \"line\": 169,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 169,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 4858,\n      \"end\": 4861,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 4862,\n      \"end\": 4868,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4872,\n      \"end\": 4873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 4874,\n      \"end\": 4878,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4878,\n      \"end\": 4879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 170,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 170,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 4881,\n      \"end\": 4884,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 4885,\n      \"end\": 4892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4895,\n      \"end\": 4896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 4897,\n      \"end\": 4901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4901,\n      \"end\": 4902,\n      \"loc\": {\n        \"start\": {\n          \"line\": 171,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 171,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 4904,\n      \"end\": 4907,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 4908,\n      \"end\": 4917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4918,\n      \"end\": 4919,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 4920,\n      \"end\": 4921,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4921,\n      \"end\": 4922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 172,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 172,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 4924,\n      \"end\": 4927,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 4928,\n      \"end\": 4937,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 4938,\n      \"end\": 4939,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 4940,\n      \"end\": 4941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 4941,\n      \"end\": 4942,\n      \"loc\": {\n        \"start\": {\n          \"line\": 173,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 173,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": \"CommentLine\",\n      \"value\": \" Handle points specially\",\n      \"start\": 4945,\n      \"end\": 4971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 175,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 175,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 4973,\n      \"end\": 4975,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4975,\n      \"end\": 4976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 4976,\n      \"end\": 4981,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 4982,\n      \"end\": 4985,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 4986,\n      \"end\": 4987,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4987,\n      \"end\": 4988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 4989,\n      \"end\": 4990,\n      \"loc\": {\n        \"start\": {\n          \"line\": 176,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 176,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 4993,\n      \"end\": 4998,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 4999,\n      \"end\": 5006,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5014,\n      \"end\": 5015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_x\",\n      \"start\": 5016,\n      \"end\": 5019,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5020,\n      \"end\": 5021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 5022,\n      \"end\": 5030,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5030,\n      \"end\": 5031,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5031,\n      \"end\": 5032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5032,\n      \"end\": 5033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5033,\n      \"end\": 5034,\n      \"loc\": {\n        \"start\": {\n          \"line\": 177,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 177,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5037,\n      \"end\": 5042,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5043,\n      \"end\": 5050,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5058,\n      \"end\": 5059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_y\",\n      \"start\": 5060,\n      \"end\": 5063,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5064,\n      \"end\": 5065,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 5066,\n      \"end\": 5074,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5074,\n      \"end\": 5075,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 5075,\n      \"end\": 5076,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5076,\n      \"end\": 5077,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5077,\n      \"end\": 5078,\n      \"loc\": {\n        \"start\": {\n          \"line\": 178,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 178,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5081,\n      \"end\": 5086,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 5087,\n      \"end\": 5101,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5102,\n      \"end\": 5103,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 5104,\n      \"end\": 5111,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5112,\n      \"end\": 5113,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 5114,\n      \"end\": 5121,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5122,\n      \"end\": 5123,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5124,\n      \"end\": 5131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5132,\n      \"end\": 5133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5134,\n      \"end\": 5141,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 62\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5141,\n      \"end\": 5142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 179,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 179,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5146,\n      \"end\": 5148,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5148,\n      \"end\": 5149,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 5149,\n      \"end\": 5163,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 5164,\n      \"end\": 5165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_squared\",\n      \"start\": 5166,\n      \"end\": 5180,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5180,\n      \"end\": 5181,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5182,\n      \"end\": 5183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 181,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 181,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 5187,\n      \"end\": 5193,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 5194,\n      \"end\": 5199,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5199,\n      \"end\": 5200,\n      \"loc\": {\n        \"start\": {\n          \"line\": 182,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 182,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5203,\n      \"end\": 5204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 183,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 183,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5208,\n      \"end\": 5210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5210,\n      \"end\": 5211,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 5211,\n      \"end\": 5217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5217,\n      \"end\": 5218,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5219,\n      \"end\": 5220,\n      \"loc\": {\n        \"start\": {\n          \"line\": 185,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 185,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5224,\n      \"end\": 5229,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5230,\n      \"end\": 5236,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5237,\n      \"end\": 5238,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 5239,\n      \"end\": 5243,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5243,\n      \"end\": 5244,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sqrt\",\n      \"start\": 5244,\n      \"end\": 5248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5248,\n      \"end\": 5249,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 5249,\n      \"end\": 5263,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5263,\n      \"end\": 5264,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5264,\n      \"end\": 5265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 186,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 186,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 5270,\n      \"end\": 5277,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5280,\n      \"end\": 5281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 5282,\n      \"end\": 5290,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5291,\n      \"end\": 5292,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5293,\n      \"end\": 5299,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5299,\n      \"end\": 5300,\n      \"loc\": {\n        \"start\": {\n          \"line\": 188,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 188,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 5304,\n      \"end\": 5313,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5314,\n      \"end\": 5315,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 5316,\n      \"end\": 5323,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 5324,\n      \"end\": 5325,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5326,\n      \"end\": 5332,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5332,\n      \"end\": 5333,\n      \"loc\": {\n        \"start\": {\n          \"line\": 189,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 189,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 5337,\n      \"end\": 5346,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5347,\n      \"end\": 5348,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5349,\n      \"end\": 5356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 5357,\n      \"end\": 5358,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 5359,\n      \"end\": 5365,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5365,\n      \"end\": 5366,\n      \"loc\": {\n        \"start\": {\n          \"line\": 190,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 190,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 5370,\n      \"end\": 5376,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5380,\n      \"end\": 5381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 5382,\n      \"end\": 5387,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5387,\n      \"end\": 5388,\n      \"loc\": {\n        \"start\": {\n          \"line\": 191,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 191,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5391,\n      \"end\": 5392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 192,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 192,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5394,\n      \"end\": 5395,\n      \"loc\": {\n        \"start\": {\n          \"line\": 193,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 193,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 5397,\n      \"end\": 5401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5402,\n      \"end\": 5403,\n      \"loc\": {\n        \"start\": {\n          \"line\": 194,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 194,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 5406,\n      \"end\": 5409,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5409,\n      \"end\": 5410,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 5410,\n      \"end\": 5413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5414,\n      \"end\": 5416,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5417,\n      \"end\": 5418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5419,\n      \"end\": 5420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5420,\n      \"end\": 5421,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5422,\n      \"end\": 5424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5425,\n      \"end\": 5426,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 5427,\n      \"end\": 5428,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5428,\n      \"end\": 5429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5430,\n      \"end\": 5432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 5433,\n      \"end\": 5434,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 5435,\n      \"end\": 5440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5440,\n      \"end\": 5441,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5442,\n      \"end\": 5444,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 5445,\n      \"end\": 5447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 5448,\n      \"end\": 5449,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5449,\n      \"end\": 5450,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5451,\n      \"end\": 5453,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 5454,\n      \"end\": 5456,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 5457,\n      \"end\": 5458,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5458,\n      \"end\": 5459,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5460,\n      \"end\": 5461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 195,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 195,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5465,\n      \"end\": 5470,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 5471,\n      \"end\": 5478,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5479,\n      \"end\": 5480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_x\",\n      \"start\": 5481,\n      \"end\": 5484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5485,\n      \"end\": 5486,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 5487,\n      \"end\": 5495,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5495,\n      \"end\": 5496,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5496,\n      \"end\": 5498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5498,\n      \"end\": 5499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5499,\n      \"end\": 5500,\n      \"loc\": {\n        \"start\": {\n          \"line\": 196,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 196,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5504,\n      \"end\": 5509,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5510,\n      \"end\": 5517,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5518,\n      \"end\": 5519,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_y\",\n      \"start\": 5520,\n      \"end\": 5523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5524,\n      \"end\": 5525,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 5526,\n      \"end\": 5534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5534,\n      \"end\": 5535,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5535,\n      \"end\": 5537,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5537,\n      \"end\": 5538,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5538,\n      \"end\": 5539,\n      \"loc\": {\n        \"start\": {\n          \"line\": 197,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 197,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5543,\n      \"end\": 5548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_x\",\n      \"start\": 5549,\n      \"end\": 5555,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5557,\n      \"end\": 5558,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_edges\",\n      \"start\": 5559,\n      \"end\": 5566,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5566,\n      \"end\": 5567,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 5567,\n      \"end\": 5569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5569,\n      \"end\": 5570,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5570,\n      \"end\": 5571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 198,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 198,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5575,\n      \"end\": 5580,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_y\",\n      \"start\": 5581,\n      \"end\": 5587,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5589,\n      \"end\": 5590,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_edges\",\n      \"start\": 5591,\n      \"end\": 5598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5598,\n      \"end\": 5599,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 5599,\n      \"end\": 5601,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5601,\n      \"end\": 5602,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5602,\n      \"end\": 5603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 199,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 199,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5607,\n      \"end\": 5612,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 5613,\n      \"end\": 5616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5621,\n      \"end\": 5622,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 5623,\n      \"end\": 5630,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5631,\n      \"end\": 5632,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_x\",\n      \"start\": 5633,\n      \"end\": 5639,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5640,\n      \"end\": 5641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5642,\n      \"end\": 5649,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5650,\n      \"end\": 5651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_y\",\n      \"start\": 5652,\n      \"end\": 5658,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5658,\n      \"end\": 5659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 200,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 200,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5663,\n      \"end\": 5668,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"region\",\n      \"start\": 5669,\n      \"end\": 5675,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5677,\n      \"end\": 5678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 5679,\n      \"end\": 5682,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 5683,\n      \"end\": 5684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5685,\n      \"end\": 5686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5687,\n      \"end\": 5688,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 5689,\n      \"end\": 5690,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 5690,\n      \"end\": 5691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5692,\n      \"end\": 5693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 5694,\n      \"end\": 5697,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 5698,\n      \"end\": 5699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_x\",\n      \"start\": 5700,\n      \"end\": 5706,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5707,\n      \"end\": 5708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_x\",\n      \"start\": 5709,\n      \"end\": 5715,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5716,\n      \"end\": 5717,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_y\",\n      \"start\": 5718,\n      \"end\": 5724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5725,\n      \"end\": 5726,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge_y\",\n      \"start\": 5727,\n      \"end\": 5733,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5734,\n      \"end\": 5735,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 74\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 5736,\n      \"end\": 5737,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5738,\n      \"end\": 5739,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5740,\n      \"end\": 5741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 80\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5741,\n      \"end\": 5742,\n      \"loc\": {\n        \"start\": {\n          \"line\": 201,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 201,\n          \"column\": 82\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 5747,\n      \"end\": 5750,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlapping\",\n      \"start\": 5751,\n      \"end\": 5766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5767,\n      \"end\": 5768,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 5769,\n      \"end\": 5774,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5774,\n      \"end\": 5775,\n      \"loc\": {\n        \"start\": {\n          \"line\": 203,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 203,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 5779,\n      \"end\": 5782,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap\",\n      \"start\": 5783,\n      \"end\": 5794,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5799,\n      \"end\": 5800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5801,\n      \"end\": 5802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5802,\n      \"end\": 5803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 204,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 204,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 5807,\n      \"end\": 5810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_x\",\n      \"start\": 5811,\n      \"end\": 5824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5827,\n      \"end\": 5828,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5829,\n      \"end\": 5830,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5830,\n      \"end\": 5831,\n      \"loc\": {\n        \"start\": {\n          \"line\": 205,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 205,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 5835,\n      \"end\": 5838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_y\",\n      \"start\": 5839,\n      \"end\": 5852,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5855,\n      \"end\": 5856,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 5857,\n      \"end\": 5858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5858,\n      \"end\": 5859,\n      \"loc\": {\n        \"start\": {\n          \"line\": 206,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 206,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5864,\n      \"end\": 5866,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5866,\n      \"end\": 5867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 5867,\n      \"end\": 5873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 5874,\n      \"end\": 5876,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 5877,\n      \"end\": 5883,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 5884,\n      \"end\": 5886,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 5887,\n      \"end\": 5894,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5895,\n      \"end\": 5896,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 5897,\n      \"end\": 5904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 5905,\n      \"end\": 5906,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5907,\n      \"end\": 5914,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 5915,\n      \"end\": 5916,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 5917,\n      \"end\": 5924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 5925,\n      \"end\": 5926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_squared\",\n      \"start\": 5927,\n      \"end\": 5941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 80\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5941,\n      \"end\": 5942,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 80\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5943,\n      \"end\": 5944,\n      \"loc\": {\n        \"start\": {\n          \"line\": 208,\n          \"column\": 82\n        },\n        \"end\": {\n          \"line\": 208,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 5949,\n      \"end\": 5955,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 5956,\n      \"end\": 5957,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 5958,\n      \"end\": 5963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 5963,\n      \"end\": 5964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 209,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 209,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5968,\n      \"end\": 5969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 210,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 210,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 5974,\n      \"end\": 5976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5976,\n      \"end\": 5977,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"region\",\n      \"start\": 5977,\n      \"end\": 5983,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5983,\n      \"end\": 5984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 5985,\n      \"end\": 5986,\n      \"loc\": {\n        \"start\": {\n          \"line\": 212,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 212,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 5991,\n      \"end\": 5996,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 5997,\n      \"end\": 6001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6006,\n      \"end\": 6007,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"region\",\n      \"start\": 6008,\n      \"end\": 6014,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 6015,\n      \"end\": 6018,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6019,\n      \"end\": 6020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 6020,\n      \"end\": 6021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6021,\n      \"end\": 6022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 213,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 213,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6027,\n      \"end\": 6032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"other_x\",\n      \"start\": 6033,\n      \"end\": 6040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6042,\n      \"end\": 6043,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6044,\n      \"end\": 6048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6049,\n      \"end\": 6050,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6051,\n      \"end\": 6052,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 6052,\n      \"end\": 6054,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 6055,\n      \"end\": 6058,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 6059,\n      \"end\": 6060,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6061,\n      \"end\": 6062,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 6063,\n      \"end\": 6068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6069,\n      \"end\": 6070,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 6071,\n      \"end\": 6072,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6073,\n      \"end\": 6074,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 6075,\n      \"end\": 6077,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6078,\n      \"end\": 6079,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 6080,\n      \"end\": 6081,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6081,\n      \"end\": 6082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6083,\n      \"end\": 6084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6085,\n      \"end\": 6086,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 6086,\n      \"end\": 6088,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 6089,\n      \"end\": 6092,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"count\",\n      \"start\": 6093,\n      \"end\": 6098,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 70\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6099,\n      \"end\": 6100,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 76\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 77\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 6101,\n      \"end\": 6102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 78\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 79\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6103,\n      \"end\": 6104,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 80\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 6105,\n      \"end\": 6106,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 82\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6107,\n      \"end\": 6108,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 84\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 85\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 6109,\n      \"end\": 6111,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 86\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 88\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 6112,\n      \"end\": 6113,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 89\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 90\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 6114,\n      \"end\": 6115,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 91\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 92\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6115,\n      \"end\": 6116,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 92\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 93\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6116,\n      \"end\": 6117,\n      \"loc\": {\n        \"start\": {\n          \"line\": 214,\n          \"column\": 93\n        },\n        \"end\": {\n          \"line\": 214,\n          \"column\": 94\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6122,\n      \"end\": 6127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"other_y\",\n      \"start\": 6128,\n      \"end\": 6135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6137,\n      \"end\": 6138,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"other_x\",\n      \"start\": 6139,\n      \"end\": 6146,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 6147,\n      \"end\": 6148,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 6149,\n      \"end\": 6150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6150,\n      \"end\": 6151,\n      \"loc\": {\n        \"start\": {\n          \"line\": 215,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 215,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6156,\n      \"end\": 6161,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord2_x\",\n      \"start\": 6162,\n      \"end\": 6170,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6171,\n      \"end\": 6172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_x\",\n      \"start\": 6173,\n      \"end\": 6176,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6177,\n      \"end\": 6178,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 6179,\n      \"end\": 6187,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6187,\n      \"end\": 6188,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"other_x\",\n      \"start\": 6188,\n      \"end\": 6195,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6195,\n      \"end\": 6196,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6196,\n      \"end\": 6197,\n      \"loc\": {\n        \"start\": {\n          \"line\": 216,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 216,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6202,\n      \"end\": 6207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord2_y\",\n      \"start\": 6208,\n      \"end\": 6216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6217,\n      \"end\": 6218,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_y\",\n      \"start\": 6219,\n      \"end\": 6222,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6223,\n      \"end\": 6224,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 6225,\n      \"end\": 6233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6233,\n      \"end\": 6234,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"other_y\",\n      \"start\": 6234,\n      \"end\": 6241,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6241,\n      \"end\": 6242,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6242,\n      \"end\": 6243,\n      \"loc\": {\n        \"start\": {\n          \"line\": 217,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 217,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6248,\n      \"end\": 6253,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_x\",\n      \"start\": 6254,\n      \"end\": 6261,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6263,\n      \"end\": 6264,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_edges\",\n      \"start\": 6265,\n      \"end\": 6272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6272,\n      \"end\": 6273,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"other_x\",\n      \"start\": 6273,\n      \"end\": 6280,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6280,\n      \"end\": 6281,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6281,\n      \"end\": 6282,\n      \"loc\": {\n        \"start\": {\n          \"line\": 218,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 218,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6287,\n      \"end\": 6292,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_y\",\n      \"start\": 6293,\n      \"end\": 6300,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6302,\n      \"end\": 6303,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_edges\",\n      \"start\": 6304,\n      \"end\": 6311,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6311,\n      \"end\": 6312,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"other_y\",\n      \"start\": 6312,\n      \"end\": 6319,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6319,\n      \"end\": 6320,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6320,\n      \"end\": 6321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 219,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 219,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6326,\n      \"end\": 6331,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot2\",\n      \"start\": 6332,\n      \"end\": 6336,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6341,\n      \"end\": 6342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord2_x\",\n      \"start\": 6343,\n      \"end\": 6351,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 6352,\n      \"end\": 6353,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_x\",\n      \"start\": 6354,\n      \"end\": 6361,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 6362,\n      \"end\": 6363,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord2_y\",\n      \"start\": 6364,\n      \"end\": 6372,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 6373,\n      \"end\": 6374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_y\",\n      \"start\": 6375,\n      \"end\": 6382,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6382,\n      \"end\": 6383,\n      \"loc\": {\n        \"start\": {\n          \"line\": 220,\n          \"column\": 60\n        },\n        \"end\": {\n          \"line\": 220,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6388,\n      \"end\": 6393,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"region2\",\n      \"start\": 6394,\n      \"end\": 6401,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6403,\n      \"end\": 6404,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot2\",\n      \"start\": 6405,\n      \"end\": 6409,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 6410,\n      \"end\": 6411,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 6412,\n      \"end\": 6413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6414,\n      \"end\": 6415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6416,\n      \"end\": 6417,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 6417,\n      \"end\": 6418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6419,\n      \"end\": 6420,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot2\",\n      \"start\": 6421,\n      \"end\": 6425,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 6426,\n      \"end\": 6427,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_x\",\n      \"start\": 6428,\n      \"end\": 6435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 6436,\n      \"end\": 6437,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_x\",\n      \"start\": 6438,\n      \"end\": 6445,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 61\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 6446,\n      \"end\": 6447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 62\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_y\",\n      \"start\": 6448,\n      \"end\": 6455,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 71\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 6456,\n      \"end\": 6457,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 72\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 73\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"edge2_y\",\n      \"start\": 6458,\n      \"end\": 6465,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 74\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6466,\n      \"end\": 6467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 82\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 83\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 6468,\n      \"end\": 6469,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 84\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 85\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6470,\n      \"end\": 6471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 86\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 87\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 6472,\n      \"end\": 6473,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 88\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 89\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6473,\n      \"end\": 6474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 221,\n          \"column\": 89\n        },\n        \"end\": {\n          \"line\": 221,\n          \"column\": 90\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 6480,\n      \"end\": 6482,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6482,\n      \"end\": 6483,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"region2\",\n      \"start\": 6483,\n      \"end\": 6490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 6491,\n      \"end\": 6494,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6495,\n      \"end\": 6496,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"region\",\n      \"start\": 6496,\n      \"end\": 6502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6502,\n      \"end\": 6503,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6504,\n      \"end\": 6505,\n      \"loc\": {\n        \"start\": {\n          \"line\": 223,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 223,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6511,\n      \"end\": 6516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_x\",\n      \"start\": 6517,\n      \"end\": 6525,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6532,\n      \"end\": 6533,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6534,\n      \"end\": 6538,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6539,\n      \"end\": 6540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 6541,\n      \"end\": 6548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6549,\n      \"end\": 6550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord2_x\",\n      \"start\": 6551,\n      \"end\": 6559,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6559,\n      \"end\": 6560,\n      \"loc\": {\n        \"start\": {\n          \"line\": 224,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 224,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6566,\n      \"end\": 6571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_y\",\n      \"start\": 6572,\n      \"end\": 6580,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6587,\n      \"end\": 6588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"left\",\n      \"start\": 6589,\n      \"end\": 6593,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6594,\n      \"end\": 6595,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 6596,\n      \"end\": 6603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6604,\n      \"end\": 6605,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord2_y\",\n      \"start\": 6606,\n      \"end\": 6614,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6614,\n      \"end\": 6615,\n      \"loc\": {\n        \"start\": {\n          \"line\": 225,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 225,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6621,\n      \"end\": 6626,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 6627,\n      \"end\": 6641,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6642,\n      \"end\": 6643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_x\",\n      \"start\": 6644,\n      \"end\": 6652,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 6653,\n      \"end\": 6654,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_x\",\n      \"start\": 6655,\n      \"end\": 6663,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 6664,\n      \"end\": 6665,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_y\",\n      \"start\": 6666,\n      \"end\": 6674,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 6675,\n      \"end\": 6676,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_y\",\n      \"start\": 6677,\n      \"end\": 6685,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 61\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6685,\n      \"end\": 6686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 226,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 226,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 6693,\n      \"end\": 6695,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6695,\n      \"end\": 6696,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 6696,\n      \"end\": 6710,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 6711,\n      \"end\": 6712,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_squared\",\n      \"start\": 6713,\n      \"end\": 6727,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6727,\n      \"end\": 6728,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6729,\n      \"end\": 6730,\n      \"loc\": {\n        \"start\": {\n          \"line\": 228,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 228,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 6737,\n      \"end\": 6743,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 6744,\n      \"end\": 6749,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6749,\n      \"end\": 6750,\n      \"loc\": {\n        \"start\": {\n          \"line\": 229,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 229,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6756,\n      \"end\": 6757,\n      \"loc\": {\n        \"start\": {\n          \"line\": 230,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 230,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 6764,\n      \"end\": 6766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6766,\n      \"end\": 6767,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 6767,\n      \"end\": 6773,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6773,\n      \"end\": 6774,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6775,\n      \"end\": 6776,\n      \"loc\": {\n        \"start\": {\n          \"line\": 232,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 232,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 6783,\n      \"end\": 6788,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 6789,\n      \"end\": 6795,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6796,\n      \"end\": 6797,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 6798,\n      \"end\": 6802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6802,\n      \"end\": 6803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sqrt\",\n      \"start\": 6803,\n      \"end\": 6807,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6807,\n      \"end\": 6808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 6808,\n      \"end\": 6822,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 6822,\n      \"end\": 6823,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6823,\n      \"end\": 6824,\n      \"loc\": {\n        \"start\": {\n          \"line\": 233,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 233,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlapping\",\n      \"start\": 6832,\n      \"end\": 6847,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6848,\n      \"end\": 6849,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 6850,\n      \"end\": 6854,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6854,\n      \"end\": 6855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 235,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 235,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap\",\n      \"start\": 6862,\n      \"end\": 6873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6878,\n      \"end\": 6879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 6880,\n      \"end\": 6888,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 6889,\n      \"end\": 6890,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 6891,\n      \"end\": 6897,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6897,\n      \"end\": 6898,\n      \"loc\": {\n        \"start\": {\n          \"line\": 236,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 236,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_x\",\n      \"start\": 6905,\n      \"end\": 6918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6921,\n      \"end\": 6922,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_x\",\n      \"start\": 6923,\n      \"end\": 6931,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 6932,\n      \"end\": 6933,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 6934,\n      \"end\": 6940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6940,\n      \"end\": 6941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 237,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 237,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_y\",\n      \"start\": 6948,\n      \"end\": 6961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 6964,\n      \"end\": 6965,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"target_y\",\n      \"start\": 6966,\n      \"end\": 6974,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 6975,\n      \"end\": 6976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 6977,\n      \"end\": 6983,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 6983,\n      \"end\": 6984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 238,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 238,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 6991,\n      \"end\": 6997,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7007,\n      \"end\": 7008,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 7009,\n      \"end\": 7014,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7014,\n      \"end\": 7015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 239,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 239,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7021,\n      \"end\": 7022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 240,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 240,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7027,\n      \"end\": 7028,\n      \"loc\": {\n        \"start\": {\n          \"line\": 241,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 241,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7032,\n      \"end\": 7033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 242,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 242,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 7037,\n      \"end\": 7041,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7042,\n      \"end\": 7043,\n      \"loc\": {\n        \"start\": {\n          \"line\": 243,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 243,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7048,\n      \"end\": 7053,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normal_x\",\n      \"start\": 7054,\n      \"end\": 7062,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7070,\n      \"end\": 7071,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_normals\",\n      \"start\": 7072,\n      \"end\": 7081,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7081,\n      \"end\": 7082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 7082,\n      \"end\": 7084,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7084,\n      \"end\": 7085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7085,\n      \"end\": 7086,\n      \"loc\": {\n        \"start\": {\n          \"line\": 244,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 244,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7091,\n      \"end\": 7096,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normal_y\",\n      \"start\": 7097,\n      \"end\": 7105,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7113,\n      \"end\": 7114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_normals\",\n      \"start\": 7115,\n      \"end\": 7124,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7124,\n      \"end\": 7125,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 7125,\n      \"end\": 7127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7127,\n      \"end\": 7128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7128,\n      \"end\": 7129,\n      \"loc\": {\n        \"start\": {\n          \"line\": 245,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 245,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7134,\n      \"end\": 7139,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7140,\n      \"end\": 7146,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7156,\n      \"end\": 7157,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_x\",\n      \"start\": 7158,\n      \"end\": 7165,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 7166,\n      \"end\": 7167,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normal_x\",\n      \"start\": 7168,\n      \"end\": 7176,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 7177,\n      \"end\": 7178,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"coord_y\",\n      \"start\": 7179,\n      \"end\": 7186,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 7187,\n      \"end\": 7188,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normal_y\",\n      \"start\": 7189,\n      \"end\": 7197,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7197,\n      \"end\": 7198,\n      \"loc\": {\n        \"start\": {\n          \"line\": 246,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 246,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 7203,\n      \"end\": 7208,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"absolute_length\",\n      \"start\": 7209,\n      \"end\": 7224,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7225,\n      \"end\": 7226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7227,\n      \"end\": 7233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 7234,\n      \"end\": 7235,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 7236,\n      \"end\": 7237,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7238,\n      \"end\": 7239,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 7240,\n      \"end\": 7241,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7241,\n      \"end\": 7247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7248,\n      \"end\": 7249,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7250,\n      \"end\": 7256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7256,\n      \"end\": 7257,\n      \"loc\": {\n        \"start\": {\n          \"line\": 247,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 247,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7263,\n      \"end\": 7265,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7265,\n      \"end\": 7266,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7266,\n      \"end\": 7272,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 7273,\n      \"end\": 7274,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 7275,\n      \"end\": 7276,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 7277,\n      \"end\": 7279,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"absolute_length\",\n      \"start\": 7280,\n      \"end\": 7295,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 7296,\n      \"end\": 7297,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 7298,\n      \"end\": 7306,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7306,\n      \"end\": 7307,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7308,\n      \"end\": 7309,\n      \"loc\": {\n        \"start\": {\n          \"line\": 249,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 249,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 7315,\n      \"end\": 7321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 250,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 250,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 7322,\n      \"end\": 7327,\n      \"loc\": {\n        \"start\": {\n          \"line\": 250,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 250,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7327,\n      \"end\": 7328,\n      \"loc\": {\n        \"start\": {\n          \"line\": 250,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 250,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7333,\n      \"end\": 7334,\n      \"loc\": {\n        \"start\": {\n          \"line\": 251,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 251,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7340,\n      \"end\": 7342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7342,\n      \"end\": 7343,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 7343,\n      \"end\": 7349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7349,\n      \"end\": 7350,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7351,\n      \"end\": 7352,\n      \"loc\": {\n        \"start\": {\n          \"line\": 253,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 253,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlapping\",\n      \"start\": 7358,\n      \"end\": 7373,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7374,\n      \"end\": 7375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 7376,\n      \"end\": 7380,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7380,\n      \"end\": 7381,\n      \"loc\": {\n        \"start\": {\n          \"line\": 254,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 254,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap\",\n      \"start\": 7387,\n      \"end\": 7398,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7403,\n      \"end\": 7404,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 7405,\n      \"end\": 7413,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 7414,\n      \"end\": 7415,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7416,\n      \"end\": 7422,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7422,\n      \"end\": 7423,\n      \"loc\": {\n        \"start\": {\n          \"line\": 255,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 255,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_x\",\n      \"start\": 7429,\n      \"end\": 7442,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7445,\n      \"end\": 7446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normal_x\",\n      \"start\": 7447,\n      \"end\": 7455,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7455,\n      \"end\": 7456,\n      \"loc\": {\n        \"start\": {\n          \"line\": 256,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 256,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_y\",\n      \"start\": 7462,\n      \"end\": 7475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7478,\n      \"end\": 7479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"normal_y\",\n      \"start\": 7480,\n      \"end\": 7488,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7488,\n      \"end\": 7489,\n      \"loc\": {\n        \"start\": {\n          \"line\": 257,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 257,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7496,\n      \"end\": 7498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7498,\n      \"end\": 7499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 7499,\n      \"end\": 7505,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 7506,\n      \"end\": 7508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 7509,\n      \"end\": 7515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">=\",\n      \"start\": 7516,\n      \"end\": 7518,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 7519,\n      \"end\": 7520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 7521,\n      \"end\": 7523,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap\",\n      \"start\": 7524,\n      \"end\": 7535,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 7536,\n      \"end\": 7537,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius2\",\n      \"start\": 7538,\n      \"end\": 7547,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7547,\n      \"end\": 7548,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 57\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7549,\n      \"end\": 7550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 259,\n          \"column\": 58\n        },\n        \"end\": {\n          \"line\": 259,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 7557,\n      \"end\": 7563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 260,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 260,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7564,\n      \"end\": 7565,\n      \"loc\": {\n        \"start\": {\n          \"line\": 260,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 260,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 7566,\n      \"end\": 7571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 260,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 260,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7571,\n      \"end\": 7572,\n      \"loc\": {\n        \"start\": {\n          \"line\": 260,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 260,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7578,\n      \"end\": 7579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 261,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 261,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7584,\n      \"end\": 7585,\n      \"loc\": {\n        \"start\": {\n          \"line\": 262,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 262,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7589,\n      \"end\": 7590,\n      \"loc\": {\n        \"start\": {\n          \"line\": 263,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 263,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7595,\n      \"end\": 7597,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7597,\n      \"end\": 7598,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlapping\",\n      \"start\": 7598,\n      \"end\": 7613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 7614,\n      \"end\": 7616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7617,\n      \"end\": 7618,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 7618,\n      \"end\": 7625,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 7626,\n      \"end\": 7629,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 7630,\n      \"end\": 7634,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 7635,\n      \"end\": 7637,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 7638,\n      \"end\": 7645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 7646,\n      \"end\": 7647,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap\",\n      \"start\": 7648,\n      \"end\": 7659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 56\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7659,\n      \"end\": 7660,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7660,\n      \"end\": 7661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 68\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 69\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7662,\n      \"end\": 7663,\n      \"loc\": {\n        \"start\": {\n          \"line\": 265,\n          \"column\": 70\n        },\n        \"end\": {\n          \"line\": 265,\n          \"column\": 71\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 7668,\n      \"end\": 7675,\n      \"loc\": {\n        \"start\": {\n          \"line\": 266,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 266,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7678,\n      \"end\": 7679,\n      \"loc\": {\n        \"start\": {\n          \"line\": 266,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 266,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap\",\n      \"start\": 7680,\n      \"end\": 7691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 266,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 266,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7691,\n      \"end\": 7692,\n      \"loc\": {\n        \"start\": {\n          \"line\": 266,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 266,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 7697,\n      \"end\": 7706,\n      \"loc\": {\n        \"start\": {\n          \"line\": 267,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 267,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7707,\n      \"end\": 7708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 267,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 267,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_x\",\n      \"start\": 7709,\n      \"end\": 7722,\n      \"loc\": {\n        \"start\": {\n          \"line\": 267,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 267,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7722,\n      \"end\": 7723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 267,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 267,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 7728,\n      \"end\": 7737,\n      \"loc\": {\n        \"start\": {\n          \"line\": 268,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 268,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7738,\n      \"end\": 7739,\n      \"loc\": {\n        \"start\": {\n          \"line\": 268,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 268,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"tmp_overlap_y\",\n      \"start\": 7740,\n      \"end\": 7753,\n      \"loc\": {\n        \"start\": {\n          \"line\": 268,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 268,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7753,\n      \"end\": 7754,\n      \"loc\": {\n        \"start\": {\n          \"line\": 268,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 268,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7758,\n      \"end\": 7759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 269,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 269,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7762,\n      \"end\": 7763,\n      \"loc\": {\n        \"start\": {\n          \"line\": 270,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 270,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7765,\n      \"end\": 7766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 271,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 271,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 7769,\n      \"end\": 7771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 273,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 273,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7771,\n      \"end\": 7772,\n      \"loc\": {\n        \"start\": {\n          \"line\": 273,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 273,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 7772,\n      \"end\": 7778,\n      \"loc\": {\n        \"start\": {\n          \"line\": 273,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 273,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7778,\n      \"end\": 7779,\n      \"loc\": {\n        \"start\": {\n          \"line\": 273,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 273,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 7780,\n      \"end\": 7781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 273,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 273,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 7784,\n      \"end\": 7790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7790,\n      \"end\": 7791,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 7791,\n      \"end\": 7797,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7801,\n      \"end\": 7802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"reverse\",\n      \"start\": 7803,\n      \"end\": 7810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7811,\n      \"end\": 7812,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 7813,\n      \"end\": 7819,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7820,\n      \"end\": 7821,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 7822,\n      \"end\": 7828,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7828,\n      \"end\": 7829,\n      \"loc\": {\n        \"start\": {\n          \"line\": 274,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 274,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 7832,\n      \"end\": 7838,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7838,\n      \"end\": 7839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 7839,\n      \"end\": 7845,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7849,\n      \"end\": 7850,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"reverse\",\n      \"start\": 7851,\n      \"end\": 7858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7859,\n      \"end\": 7860,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 7861,\n      \"end\": 7867,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7868,\n      \"end\": 7869,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 7870,\n      \"end\": 7876,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7876,\n      \"end\": 7877,\n      \"loc\": {\n        \"start\": {\n          \"line\": 275,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 275,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 7880,\n      \"end\": 7886,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7886,\n      \"end\": 7887,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 7887,\n      \"end\": 7894,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7897,\n      \"end\": 7898,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 7899,\n      \"end\": 7906,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7906,\n      \"end\": 7907,\n      \"loc\": {\n        \"start\": {\n          \"line\": 276,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 276,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 7910,\n      \"end\": 7916,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7916,\n      \"end\": 7917,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 7917,\n      \"end\": 7926,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7927,\n      \"end\": 7928,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"reverse\",\n      \"start\": 7929,\n      \"end\": 7936,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7937,\n      \"end\": 7938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 7939,\n      \"end\": 7940,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 7940,\n      \"end\": 7949,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7950,\n      \"end\": 7951,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 7952,\n      \"end\": 7961,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7961,\n      \"end\": 7962,\n      \"loc\": {\n        \"start\": {\n          \"line\": 277,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 277,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 7965,\n      \"end\": 7971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7971,\n      \"end\": 7972,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 7972,\n      \"end\": 7981,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 7982,\n      \"end\": 7983,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"reverse\",\n      \"start\": 7984,\n      \"end\": 7991,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 7992,\n      \"end\": 7993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 7994,\n      \"end\": 7995,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 7995,\n      \"end\": 8004,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8005,\n      \"end\": 8006,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 8007,\n      \"end\": 8016,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8016,\n      \"end\": 8017,\n      \"loc\": {\n        \"start\": {\n          \"line\": 278,\n          \"column\": 53\n        },\n        \"end\": {\n          \"line\": 278,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8019,\n      \"end\": 8020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 279,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 279,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 8023,\n      \"end\": 8029,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 8030,\n      \"end\": 8034,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8034,\n      \"end\": 8035,\n      \"loc\": {\n        \"start\": {\n          \"line\": 281,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 281,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8036,\n      \"end\": 8037,\n      \"loc\": {\n        \"start\": {\n          \"line\": 282,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 282,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two circles are colliding\\n * @param {Circle} a The source circle to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n      \"start\": 8039,\n      \"end\": 8314,\n      \"loc\": {\n        \"start\": {\n          \"line\": 284,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 290,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"function\",\n        \"keyword\": \"function\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"function\",\n      \"start\": 8315,\n      \"end\": 8323,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"circleCircle\",\n      \"start\": 8324,\n      \"end\": 8336,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8336,\n      \"end\": 8337,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 8337,\n      \"end\": 8338,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8338,\n      \"end\": 8339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 8340,\n      \"end\": 8341,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8341,\n      \"end\": 8342,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 8343,\n      \"end\": 8349,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8350,\n      \"end\": 8351,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 8352,\n      \"end\": 8356,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8356,\n      \"end\": 8357,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8358,\n      \"end\": 8359,\n      \"loc\": {\n        \"start\": {\n          \"line\": 291,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 291,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8361,\n      \"end\": 8366,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 8367,\n      \"end\": 8375,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8382,\n      \"end\": 8383,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 8384,\n      \"end\": 8385,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8385,\n      \"end\": 8386,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 8386,\n      \"end\": 8392,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 8393,\n      \"end\": 8394,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 8395,\n      \"end\": 8396,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8396,\n      \"end\": 8397,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 8397,\n      \"end\": 8402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8402,\n      \"end\": 8403,\n      \"loc\": {\n        \"start\": {\n          \"line\": 292,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 292,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8405,\n      \"end\": 8410,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 8411,\n      \"end\": 8419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8426,\n      \"end\": 8427,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 8428,\n      \"end\": 8429,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8429,\n      \"end\": 8430,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius\",\n      \"start\": 8430,\n      \"end\": 8436,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 8437,\n      \"end\": 8438,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 8439,\n      \"end\": 8440,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8440,\n      \"end\": 8441,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"scale\",\n      \"start\": 8441,\n      \"end\": 8446,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8446,\n      \"end\": 8447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 293,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 293,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8449,\n      \"end\": 8454,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_x\",\n      \"start\": 8455,\n      \"end\": 8467,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8470,\n      \"end\": 8471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 8472,\n      \"end\": 8473,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8473,\n      \"end\": 8474,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 8474,\n      \"end\": 8475,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 8476,\n      \"end\": 8477,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 8478,\n      \"end\": 8479,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8479,\n      \"end\": 8480,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 8480,\n      \"end\": 8481,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8481,\n      \"end\": 8482,\n      \"loc\": {\n        \"start\": {\n          \"line\": 294,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 294,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8484,\n      \"end\": 8489,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_y\",\n      \"start\": 8490,\n      \"end\": 8502,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8505,\n      \"end\": 8506,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b\",\n      \"start\": 8507,\n      \"end\": 8508,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8508,\n      \"end\": 8509,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 8509,\n      \"end\": 8510,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 8511,\n      \"end\": 8512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a\",\n      \"start\": 8513,\n      \"end\": 8514,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8514,\n      \"end\": 8515,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 8515,\n      \"end\": 8516,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8516,\n      \"end\": 8517,\n      \"loc\": {\n        \"start\": {\n          \"line\": 295,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 295,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8519,\n      \"end\": 8524,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_sum\",\n      \"start\": 8525,\n      \"end\": 8535,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8540,\n      \"end\": 8541,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 8542,\n      \"end\": 8550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 8551,\n      \"end\": 8552,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 8553,\n      \"end\": 8561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8561,\n      \"end\": 8562,\n      \"loc\": {\n        \"start\": {\n          \"line\": 296,\n          \"column\": 43\n        },\n        \"end\": {\n          \"line\": 296,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8564,\n      \"end\": 8569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 8570,\n      \"end\": 8584,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8585,\n      \"end\": 8586,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_x\",\n      \"start\": 8587,\n      \"end\": 8599,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 8600,\n      \"end\": 8601,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_x\",\n      \"start\": 8602,\n      \"end\": 8614,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 8615,\n      \"end\": 8616,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_y\",\n      \"start\": 8617,\n      \"end\": 8629,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 8630,\n      \"end\": 8631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_y\",\n      \"start\": 8632,\n      \"end\": 8644,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 81\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8644,\n      \"end\": 8645,\n      \"loc\": {\n        \"start\": {\n          \"line\": 297,\n          \"column\": 81\n        },\n        \"end\": {\n          \"line\": 297,\n          \"column\": 82\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 8648,\n      \"end\": 8650,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8650,\n      \"end\": 8651,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 8651,\n      \"end\": 8665,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 8666,\n      \"end\": 8667,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_sum\",\n      \"start\": 8668,\n      \"end\": 8678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 8679,\n      \"end\": 8680,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_sum\",\n      \"start\": 8681,\n      \"end\": 8691,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8691,\n      \"end\": 8692,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8693,\n      \"end\": 8694,\n      \"loc\": {\n        \"start\": {\n          \"line\": 299,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 299,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 8697,\n      \"end\": 8703,\n      \"loc\": {\n        \"start\": {\n          \"line\": 300,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 300,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 8704,\n      \"end\": 8709,\n      \"loc\": {\n        \"start\": {\n          \"line\": 300,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 300,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8709,\n      \"end\": 8710,\n      \"loc\": {\n        \"start\": {\n          \"line\": 300,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 300,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8712,\n      \"end\": 8713,\n      \"loc\": {\n        \"start\": {\n          \"line\": 301,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 301,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 8716,\n      \"end\": 8718,\n      \"loc\": {\n        \"start\": {\n          \"line\": 303,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 303,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8718,\n      \"end\": 8719,\n      \"loc\": {\n        \"start\": {\n          \"line\": 303,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 303,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 8719,\n      \"end\": 8725,\n      \"loc\": {\n        \"start\": {\n          \"line\": 303,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 303,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8725,\n      \"end\": 8726,\n      \"loc\": {\n        \"start\": {\n          \"line\": 303,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 303,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8727,\n      \"end\": 8728,\n      \"loc\": {\n        \"start\": {\n          \"line\": 303,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 303,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 8731,\n      \"end\": 8736,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 8737,\n      \"end\": 8743,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8744,\n      \"end\": 8745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"Math\",\n      \"start\": 8746,\n      \"end\": 8750,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8750,\n      \"end\": 8751,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sqrt\",\n      \"start\": 8751,\n      \"end\": 8755,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8755,\n      \"end\": 8756,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length_squared\",\n      \"start\": 8756,\n      \"end\": 8770,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 8770,\n      \"end\": 8771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8771,\n      \"end\": 8772,\n      \"loc\": {\n        \"start\": {\n          \"line\": 304,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 304,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 8776,\n      \"end\": 8782,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8782,\n      \"end\": 8783,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 8783,\n      \"end\": 8789,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8793,\n      \"end\": 8794,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 8795,\n      \"end\": 8803,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<=\",\n      \"start\": 8804,\n      \"end\": 8806,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 8807,\n      \"end\": 8815,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 8816,\n      \"end\": 8818,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 8819,\n      \"end\": 8825,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<=\",\n      \"start\": 8826,\n      \"end\": 8828,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 8829,\n      \"end\": 8837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 8838,\n      \"end\": 8839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 8840,\n      \"end\": 8848,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 74\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8848,\n      \"end\": 8849,\n      \"loc\": {\n        \"start\": {\n          \"line\": 306,\n          \"column\": 74\n        },\n        \"end\": {\n          \"line\": 306,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 8852,\n      \"end\": 8858,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8858,\n      \"end\": 8859,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 8859,\n      \"end\": 8865,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8869,\n      \"end\": 8870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 8871,\n      \"end\": 8879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<=\",\n      \"start\": 8880,\n      \"end\": 8882,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 8883,\n      \"end\": 8891,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"&&\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 2,\n        \"updateContext\": null\n      },\n      \"value\": \"&&\",\n      \"start\": 8892,\n      \"end\": 8894,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 8895,\n      \"end\": 8901,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<=\",\n      \"start\": 8902,\n      \"end\": 8904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 54\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_radius\",\n      \"start\": 8905,\n      \"end\": 8913,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 8914,\n      \"end\": 8915,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 64\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 65\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_radius\",\n      \"start\": 8916,\n      \"end\": 8924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 66\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 74\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8924,\n      \"end\": 8925,\n      \"loc\": {\n        \"start\": {\n          \"line\": 307,\n          \"column\": 74\n        },\n        \"end\": {\n          \"line\": 307,\n          \"column\": 75\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 8928,\n      \"end\": 8934,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8934,\n      \"end\": 8935,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 8935,\n      \"end\": 8942,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8945,\n      \"end\": 8946,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"radius_sum\",\n      \"start\": 8947,\n      \"end\": 8957,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 8958,\n      \"end\": 8959,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 8960,\n      \"end\": 8966,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8966,\n      \"end\": 8967,\n      \"loc\": {\n        \"start\": {\n          \"line\": 308,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 308,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 8970,\n      \"end\": 8976,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 8976,\n      \"end\": 8977,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 8977,\n      \"end\": 8986,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 8987,\n      \"end\": 8988,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_x\",\n      \"start\": 8989,\n      \"end\": 9001,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 9002,\n      \"end\": 9003,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 9004,\n      \"end\": 9010,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9010,\n      \"end\": 9011,\n      \"loc\": {\n        \"start\": {\n          \"line\": 309,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 309,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 9014,\n      \"end\": 9020,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9020,\n      \"end\": 9021,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 9021,\n      \"end\": 9030,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9031,\n      \"end\": 9032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"difference_y\",\n      \"start\": 9033,\n      \"end\": 9045,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"/\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"/\",\n      \"start\": 9046,\n      \"end\": 9047,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 9048,\n      \"end\": 9054,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9054,\n      \"end\": 9055,\n      \"loc\": {\n        \"start\": {\n          \"line\": 310,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 310,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9057,\n      \"end\": 9058,\n      \"loc\": {\n        \"start\": {\n          \"line\": 311,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 311,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 9061,\n      \"end\": 9067,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 9068,\n      \"end\": 9072,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9072,\n      \"end\": 9073,\n      \"loc\": {\n        \"start\": {\n          \"line\": 313,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 313,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9074,\n      \"end\": 9075,\n      \"loc\": {\n        \"start\": {\n          \"line\": 314,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 314,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": \"CommentBlock\",\n      \"value\": \"*\\n * Determines if two polygons are separated by an axis\\n * @param {Array<Number[]>} a_coords The coordinates of the polygon to test\\n * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against\\n * @param {Number} x The X direction of the axis\\n * @param {Number} y The Y direction of the axis\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n \",\n      \"start\": 9077,\n      \"end\": 9520,\n      \"loc\": {\n        \"start\": {\n          \"line\": 316,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 324,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"function\",\n        \"keyword\": \"function\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"function\",\n      \"start\": 9521,\n      \"end\": 9529,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"separatingAxis\",\n      \"start\": 9530,\n      \"end\": 9544,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9544,\n      \"end\": 9545,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 9545,\n      \"end\": 9553,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9553,\n      \"end\": 9554,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 9555,\n      \"end\": 9563,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9563,\n      \"end\": 9564,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 9565,\n      \"end\": 9566,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9566,\n      \"end\": 9567,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 9568,\n      \"end\": 9569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 47\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9569,\n      \"end\": 9570,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 9571,\n      \"end\": 9577,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9578,\n      \"end\": 9579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9580,\n      \"end\": 9584,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 63\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9584,\n      \"end\": 9585,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 63\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 64\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9586,\n      \"end\": 9587,\n      \"loc\": {\n        \"start\": {\n          \"line\": 325,\n          \"column\": 65\n        },\n        \"end\": {\n          \"line\": 325,\n          \"column\": 66\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 9589,\n      \"end\": 9594,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_count\",\n      \"start\": 9595,\n      \"end\": 9602,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9603,\n      \"end\": 9604,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 9605,\n      \"end\": 9613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9613,\n      \"end\": 9614,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 9614,\n      \"end\": 9620,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9620,\n      \"end\": 9621,\n      \"loc\": {\n        \"start\": {\n          \"line\": 326,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 326,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 9623,\n      \"end\": 9628,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_count\",\n      \"start\": 9629,\n      \"end\": 9636,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9637,\n      \"end\": 9638,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 9639,\n      \"end\": 9647,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9647,\n      \"end\": 9648,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"length\",\n      \"start\": 9648,\n      \"end\": 9654,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9654,\n      \"end\": 9655,\n      \"loc\": {\n        \"start\": {\n          \"line\": 327,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 327,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 9658,\n      \"end\": 9660,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9660,\n      \"end\": 9661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 9661,\n      \"end\": 9662,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_count\",\n      \"start\": 9662,\n      \"end\": 9669,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 9670,\n      \"end\": 9672,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"prefix\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"!\",\n      \"start\": 9673,\n      \"end\": 9674,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_count\",\n      \"start\": 9674,\n      \"end\": 9681,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9681,\n      \"end\": 9682,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9683,\n      \"end\": 9684,\n      \"loc\": {\n        \"start\": {\n          \"line\": 329,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 329,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 9687,\n      \"end\": 9693,\n      \"loc\": {\n        \"start\": {\n          \"line\": 330,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 330,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 9694,\n      \"end\": 9698,\n      \"loc\": {\n        \"start\": {\n          \"line\": 330,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 330,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9698,\n      \"end\": 9699,\n      \"loc\": {\n        \"start\": {\n          \"line\": 330,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 330,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9701,\n      \"end\": 9702,\n      \"loc\": {\n        \"start\": {\n          \"line\": 331,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 331,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 9705,\n      \"end\": 9708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 333,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 333,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 9709,\n      \"end\": 9716,\n      \"loc\": {\n        \"start\": {\n          \"line\": 333,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 333,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9717,\n      \"end\": 9718,\n      \"loc\": {\n        \"start\": {\n          \"line\": 333,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 333,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9719,\n      \"end\": 9723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 333,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 333,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9723,\n      \"end\": 9724,\n      \"loc\": {\n        \"start\": {\n          \"line\": 333,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 333,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 9726,\n      \"end\": 9729,\n      \"loc\": {\n        \"start\": {\n          \"line\": 334,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 334,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 9730,\n      \"end\": 9735,\n      \"loc\": {\n        \"start\": {\n          \"line\": 334,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 334,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9738,\n      \"end\": 9739,\n      \"loc\": {\n        \"start\": {\n          \"line\": 334,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 334,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9740,\n      \"end\": 9744,\n      \"loc\": {\n        \"start\": {\n          \"line\": 334,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 334,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9744,\n      \"end\": 9745,\n      \"loc\": {\n        \"start\": {\n          \"line\": 334,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 334,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 9747,\n      \"end\": 9750,\n      \"loc\": {\n        \"start\": {\n          \"line\": 335,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 335,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 9751,\n      \"end\": 9758,\n      \"loc\": {\n        \"start\": {\n          \"line\": 335,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 335,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9759,\n      \"end\": 9760,\n      \"loc\": {\n        \"start\": {\n          \"line\": 335,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 335,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9761,\n      \"end\": 9765,\n      \"loc\": {\n        \"start\": {\n          \"line\": 335,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 335,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9765,\n      \"end\": 9766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 335,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 335,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 9768,\n      \"end\": 9771,\n      \"loc\": {\n        \"start\": {\n          \"line\": 336,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 336,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 9772,\n      \"end\": 9777,\n      \"loc\": {\n        \"start\": {\n          \"line\": 336,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 336,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9780,\n      \"end\": 9781,\n      \"loc\": {\n        \"start\": {\n          \"line\": 336,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 336,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9782,\n      \"end\": 9786,\n      \"loc\": {\n        \"start\": {\n          \"line\": 336,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 336,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9786,\n      \"end\": 9787,\n      \"loc\": {\n        \"start\": {\n          \"line\": 336,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 336,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 9790,\n      \"end\": 9793,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9793,\n      \"end\": 9794,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 9794,\n      \"end\": 9797,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 9798,\n      \"end\": 9800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9801,\n      \"end\": 9802,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 9803,\n      \"end\": 9804,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9804,\n      \"end\": 9805,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 9806,\n      \"end\": 9808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9809,\n      \"end\": 9810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 9811,\n      \"end\": 9812,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9812,\n      \"end\": 9813,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 9814,\n      \"end\": 9816,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 9817,\n      \"end\": 9818,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_count\",\n      \"start\": 9819,\n      \"end\": 9826,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9826,\n      \"end\": 9827,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 9828,\n      \"end\": 9830,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 9831,\n      \"end\": 9833,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 9834,\n      \"end\": 9835,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9835,\n      \"end\": 9836,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 9837,\n      \"end\": 9839,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 9840,\n      \"end\": 9842,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 9843,\n      \"end\": 9844,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9844,\n      \"end\": 9845,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9846,\n      \"end\": 9847,\n      \"loc\": {\n        \"start\": {\n          \"line\": 338,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 338,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 9850,\n      \"end\": 9855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 9856,\n      \"end\": 9859,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9860,\n      \"end\": 9861,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 9862,\n      \"end\": 9870,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9870,\n      \"end\": 9871,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 9871,\n      \"end\": 9873,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9873,\n      \"end\": 9874,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 9875,\n      \"end\": 9876,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 9877,\n      \"end\": 9878,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 9879,\n      \"end\": 9880,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_coords\",\n      \"start\": 9881,\n      \"end\": 9889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9889,\n      \"end\": 9890,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 9890,\n      \"end\": 9892,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9892,\n      \"end\": 9893,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 9894,\n      \"end\": 9895,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 9896,\n      \"end\": 9897,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9897,\n      \"end\": 9898,\n      \"loc\": {\n        \"start\": {\n          \"line\": 339,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 339,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 9902,\n      \"end\": 9904,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9904,\n      \"end\": 9905,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 9905,\n      \"end\": 9912,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 9913,\n      \"end\": 9916,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9917,\n      \"end\": 9921,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 9922,\n      \"end\": 9924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 9925,\n      \"end\": 9932,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 9933,\n      \"end\": 9934,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 9935,\n      \"end\": 9938,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9938,\n      \"end\": 9939,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9940,\n      \"end\": 9941,\n      \"loc\": {\n        \"start\": {\n          \"line\": 341,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 341,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 9945,\n      \"end\": 9952,\n      \"loc\": {\n        \"start\": {\n          \"line\": 342,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 342,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 9953,\n      \"end\": 9954,\n      \"loc\": {\n        \"start\": {\n          \"line\": 342,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 342,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 9955,\n      \"end\": 9958,\n      \"loc\": {\n        \"start\": {\n          \"line\": 342,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 342,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 9958,\n      \"end\": 9959,\n      \"loc\": {\n        \"start\": {\n          \"line\": 342,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 342,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9962,\n      \"end\": 9963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 343,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 343,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 9967,\n      \"end\": 9969,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9969,\n      \"end\": 9970,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 9970,\n      \"end\": 9975,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 9976,\n      \"end\": 9979,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 9980,\n      \"end\": 9984,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 9985,\n      \"end\": 9987,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 9988,\n      \"end\": 9993,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 9994,\n      \"end\": 9995,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 9996,\n      \"end\": 9999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 9999,\n      \"end\": 10000,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10001,\n      \"end\": 10002,\n      \"loc\": {\n        \"start\": {\n          \"line\": 345,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 345,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 10006,\n      \"end\": 10011,\n      \"loc\": {\n        \"start\": {\n          \"line\": 346,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 346,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10012,\n      \"end\": 10013,\n      \"loc\": {\n        \"start\": {\n          \"line\": 346,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 346,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 10014,\n      \"end\": 10017,\n      \"loc\": {\n        \"start\": {\n          \"line\": 346,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 346,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10017,\n      \"end\": 10018,\n      \"loc\": {\n        \"start\": {\n          \"line\": 346,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 346,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10021,\n      \"end\": 10022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 347,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 347,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10024,\n      \"end\": 10025,\n      \"loc\": {\n        \"start\": {\n          \"line\": 348,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 348,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"for\",\n        \"keyword\": \"for\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": true,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"for\",\n      \"start\": 10028,\n      \"end\": 10031,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10031,\n      \"end\": 10032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 10032,\n      \"end\": 10035,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 10036,\n      \"end\": 10038,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10039,\n      \"end\": 10040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 10041,\n      \"end\": 10042,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10042,\n      \"end\": 10043,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 10044,\n      \"end\": 10046,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10047,\n      \"end\": 10048,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 10049,\n      \"end\": 10050,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10050,\n      \"end\": 10051,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 10052,\n      \"end\": 10054,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10055,\n      \"end\": 10056,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_count\",\n      \"start\": 10057,\n      \"end\": 10064,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10064,\n      \"end\": 10065,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 10066,\n      \"end\": 10068,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 10069,\n      \"end\": 10071,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 10072,\n      \"end\": 10073,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 46\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \",\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10073,\n      \"end\": 10074,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 10075,\n      \"end\": 10077,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"_=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"+=\",\n      \"start\": 10078,\n      \"end\": 10080,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 2,\n      \"start\": 10081,\n      \"end\": 10082,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 54\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 55\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10082,\n      \"end\": 10083,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 55\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 56\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10084,\n      \"end\": 10085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 350,\n          \"column\": 57\n        },\n        \"end\": {\n          \"line\": 350,\n          \"column\": 58\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10088,\n      \"end\": 10093,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 10094,\n      \"end\": 10097,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10098,\n      \"end\": 10099,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 10100,\n      \"end\": 10108,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10108,\n      \"end\": 10109,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"ix\",\n      \"start\": 10109,\n      \"end\": 10111,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10111,\n      \"end\": 10112,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 10113,\n      \"end\": 10114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 10115,\n      \"end\": 10116,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"+\",\n      \"start\": 10117,\n      \"end\": 10118,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_coords\",\n      \"start\": 10119,\n      \"end\": 10127,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"[\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10127,\n      \"end\": 10128,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"iy\",\n      \"start\": 10128,\n      \"end\": 10130,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 44\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"]\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10130,\n      \"end\": 10131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 10132,\n      \"end\": 10133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 46\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 47\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 10134,\n      \"end\": 10135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 48\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10135,\n      \"end\": 10136,\n      \"loc\": {\n        \"start\": {\n          \"line\": 351,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 351,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10140,\n      \"end\": 10142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10142,\n      \"end\": 10143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10143,\n      \"end\": 10150,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 10151,\n      \"end\": 10154,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 10155,\n      \"end\": 10159,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 10160,\n      \"end\": 10162,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10163,\n      \"end\": 10170,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 10171,\n      \"end\": 10172,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 10173,\n      \"end\": 10176,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10176,\n      \"end\": 10177,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10178,\n      \"end\": 10179,\n      \"loc\": {\n        \"start\": {\n          \"line\": 353,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 353,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10183,\n      \"end\": 10190,\n      \"loc\": {\n        \"start\": {\n          \"line\": 354,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 354,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10191,\n      \"end\": 10192,\n      \"loc\": {\n        \"start\": {\n          \"line\": 354,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 354,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 10193,\n      \"end\": 10196,\n      \"loc\": {\n        \"start\": {\n          \"line\": 354,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 354,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10196,\n      \"end\": 10197,\n      \"loc\": {\n        \"start\": {\n          \"line\": 354,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 354,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10200,\n      \"end\": 10201,\n      \"loc\": {\n        \"start\": {\n          \"line\": 355,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 355,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10205,\n      \"end\": 10207,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10207,\n      \"end\": 10208,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10208,\n      \"end\": 10213,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 10214,\n      \"end\": 10217,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 10218,\n      \"end\": 10222,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 10223,\n      \"end\": 10225,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10226,\n      \"end\": 10231,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10232,\n      \"end\": 10233,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 10234,\n      \"end\": 10237,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10237,\n      \"end\": 10238,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10239,\n      \"end\": 10240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 357,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 357,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10244,\n      \"end\": 10249,\n      \"loc\": {\n        \"start\": {\n          \"line\": 358,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 358,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10250,\n      \"end\": 10251,\n      \"loc\": {\n        \"start\": {\n          \"line\": 358,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 358,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"dot\",\n      \"start\": 10252,\n      \"end\": 10255,\n      \"loc\": {\n        \"start\": {\n          \"line\": 358,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 358,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10255,\n      \"end\": 10256,\n      \"loc\": {\n        \"start\": {\n          \"line\": 358,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 358,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10259,\n      \"end\": 10260,\n      \"loc\": {\n        \"start\": {\n          \"line\": 359,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 359,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10262,\n      \"end\": 10263,\n      \"loc\": {\n        \"start\": {\n          \"line\": 360,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 360,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10266,\n      \"end\": 10268,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10268,\n      \"end\": 10269,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 10269,\n      \"end\": 10276,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 10277,\n      \"end\": 10278,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10279,\n      \"end\": 10284,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 10285,\n      \"end\": 10287,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 10288,\n      \"end\": 10293,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 23\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 28\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10294,\n      \"end\": 10295,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 29\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10296,\n      \"end\": 10303,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10303,\n      \"end\": 10304,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10305,\n      \"end\": 10306,\n      \"loc\": {\n        \"start\": {\n          \"line\": 362,\n          \"column\": 40\n        },\n        \"end\": {\n          \"line\": 362,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 10309,\n      \"end\": 10315,\n      \"loc\": {\n        \"start\": {\n          \"line\": 363,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 363,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"true\",\n        \"keyword\": \"true\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"true\",\n      \"start\": 10316,\n      \"end\": 10320,\n      \"loc\": {\n        \"start\": {\n          \"line\": 363,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 363,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10320,\n      \"end\": 10321,\n      \"loc\": {\n        \"start\": {\n          \"line\": 363,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 363,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10323,\n      \"end\": 10324,\n      \"loc\": {\n        \"start\": {\n          \"line\": 364,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 364,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10327,\n      \"end\": 10329,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10329,\n      \"end\": 10330,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 10330,\n      \"end\": 10336,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10336,\n      \"end\": 10337,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10338,\n      \"end\": 10339,\n      \"loc\": {\n        \"start\": {\n          \"line\": 366,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 366,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"let\",\n        \"keyword\": \"let\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"let\",\n      \"start\": 10342,\n      \"end\": 10345,\n      \"loc\": {\n        \"start\": {\n          \"line\": 367,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 367,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 10346,\n      \"end\": 10353,\n      \"loc\": {\n        \"start\": {\n          \"line\": 367,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 367,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10354,\n      \"end\": 10355,\n      \"loc\": {\n        \"start\": {\n          \"line\": 367,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 367,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 10356,\n      \"end\": 10357,\n      \"loc\": {\n        \"start\": {\n          \"line\": 367,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 367,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10357,\n      \"end\": 10358,\n      \"loc\": {\n        \"start\": {\n          \"line\": 367,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 367,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10362,\n      \"end\": 10364,\n      \"loc\": {\n        \"start\": {\n          \"line\": 369,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 369,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10364,\n      \"end\": 10365,\n      \"loc\": {\n        \"start\": {\n          \"line\": 369,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 369,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 10365,\n      \"end\": 10372,\n      \"loc\": {\n        \"start\": {\n          \"line\": 369,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 369,\n          \"column\": 12\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10373,\n      \"end\": 10374,\n      \"loc\": {\n        \"start\": {\n          \"line\": 369,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 369,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10375,\n      \"end\": 10382,\n      \"loc\": {\n        \"start\": {\n          \"line\": 369,\n          \"column\": 15\n        },\n        \"end\": {\n          \"line\": 369,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10382,\n      \"end\": 10383,\n      \"loc\": {\n        \"start\": {\n          \"line\": 369,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 369,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10384,\n      \"end\": 10385,\n      \"loc\": {\n        \"start\": {\n          \"line\": 369,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 369,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 10389,\n      \"end\": 10395,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10395,\n      \"end\": 10396,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 10396,\n      \"end\": 10402,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10403,\n      \"end\": 10404,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 10405,\n      \"end\": 10410,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10410,\n      \"end\": 10411,\n      \"loc\": {\n        \"start\": {\n          \"line\": 370,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 370,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10416,\n      \"end\": 10418,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10418,\n      \"end\": 10419,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 10419,\n      \"end\": 10424,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10425,\n      \"end\": 10426,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10427,\n      \"end\": 10432,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10432,\n      \"end\": 10433,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10434,\n      \"end\": 10435,\n      \"loc\": {\n        \"start\": {\n          \"line\": 372,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 372,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 10440,\n      \"end\": 10447,\n      \"loc\": {\n        \"start\": {\n          \"line\": 373,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 373,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10454,\n      \"end\": 10455,\n      \"loc\": {\n        \"start\": {\n          \"line\": 373,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 373,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 10456,\n      \"end\": 10461,\n      \"loc\": {\n        \"start\": {\n          \"line\": 373,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 373,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10462,\n      \"end\": 10463,\n      \"loc\": {\n        \"start\": {\n          \"line\": 373,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 373,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10464,\n      \"end\": 10471,\n      \"loc\": {\n        \"start\": {\n          \"line\": 373,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 373,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10471,\n      \"end\": 10472,\n      \"loc\": {\n        \"start\": {\n          \"line\": 373,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 373,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 10477,\n      \"end\": 10483,\n      \"loc\": {\n        \"start\": {\n          \"line\": 374,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 374,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10483,\n      \"end\": 10484,\n      \"loc\": {\n        \"start\": {\n          \"line\": 374,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 374,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 10484,\n      \"end\": 10490,\n      \"loc\": {\n        \"start\": {\n          \"line\": 374,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 374,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10491,\n      \"end\": 10492,\n      \"loc\": {\n        \"start\": {\n          \"line\": 374,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 374,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 10493,\n      \"end\": 10498,\n      \"loc\": {\n        \"start\": {\n          \"line\": 374,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 374,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10498,\n      \"end\": 10499,\n      \"loc\": {\n        \"start\": {\n          \"line\": 374,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 374,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10503,\n      \"end\": 10504,\n      \"loc\": {\n        \"start\": {\n          \"line\": 375,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 375,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 10508,\n      \"end\": 10512,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10513,\n      \"end\": 10514,\n      \"loc\": {\n        \"start\": {\n          \"line\": 376,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 376,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10519,\n      \"end\": 10524,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option1\",\n      \"start\": 10525,\n      \"end\": 10532,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10533,\n      \"end\": 10534,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 10535,\n      \"end\": 10540,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10541,\n      \"end\": 10542,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10543,\n      \"end\": 10550,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10550,\n      \"end\": 10551,\n      \"loc\": {\n        \"start\": {\n          \"line\": 377,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 377,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10556,\n      \"end\": 10561,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option2\",\n      \"start\": 10562,\n      \"end\": 10569,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10570,\n      \"end\": 10571,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10572,\n      \"end\": 10577,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10578,\n      \"end\": 10579,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 10580,\n      \"end\": 10587,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10587,\n      \"end\": 10588,\n      \"loc\": {\n        \"start\": {\n          \"line\": 378,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 378,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 10594,\n      \"end\": 10601,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10602,\n      \"end\": 10603,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option1\",\n      \"start\": 10604,\n      \"end\": 10611,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10612,\n      \"end\": 10613,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option2\",\n      \"start\": 10614,\n      \"end\": 10621,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10622,\n      \"end\": 10623,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option1\",\n      \"start\": 10624,\n      \"end\": 10631,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10632,\n      \"end\": 10633,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10634,\n      \"end\": 10635,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option2\",\n      \"start\": 10635,\n      \"end\": 10642,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10642,\n      \"end\": 10643,\n      \"loc\": {\n        \"start\": {\n          \"line\": 380,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 380,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10647,\n      \"end\": 10648,\n      \"loc\": {\n        \"start\": {\n          \"line\": 381,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 381,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10651,\n      \"end\": 10652,\n      \"loc\": {\n        \"start\": {\n          \"line\": 382,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 382,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 10655,\n      \"end\": 10659,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10660,\n      \"end\": 10661,\n      \"loc\": {\n        \"start\": {\n          \"line\": 383,\n          \"column\": 7\n        },\n        \"end\": {\n          \"line\": 383,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 10665,\n      \"end\": 10671,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10671,\n      \"end\": 10672,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_in_a\",\n      \"start\": 10672,\n      \"end\": 10678,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 16\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10679,\n      \"end\": 10680,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 17\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 18\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 10681,\n      \"end\": 10686,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10686,\n      \"end\": 10687,\n      \"loc\": {\n        \"start\": {\n          \"line\": 384,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 384,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 10692,\n      \"end\": 10694,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10694,\n      \"end\": 10695,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 6\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 10695,\n      \"end\": 10700,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 6\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 10701,\n      \"end\": 10702,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10703,\n      \"end\": 10708,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10708,\n      \"end\": 10709,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 19\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10710,\n      \"end\": 10711,\n      \"loc\": {\n        \"start\": {\n          \"line\": 386,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 386,\n          \"column\": 22\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 10716,\n      \"end\": 10723,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10730,\n      \"end\": 10731,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 10732,\n      \"end\": 10739,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10740,\n      \"end\": 10741,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10742,\n      \"end\": 10747,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10747,\n      \"end\": 10748,\n      \"loc\": {\n        \"start\": {\n          \"line\": 387,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 387,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 10753,\n      \"end\": 10759,\n      \"loc\": {\n        \"start\": {\n          \"line\": 388,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 388,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10759,\n      \"end\": 10760,\n      \"loc\": {\n        \"start\": {\n          \"line\": 388,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 388,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_in_b\",\n      \"start\": 10760,\n      \"end\": 10766,\n      \"loc\": {\n        \"start\": {\n          \"line\": 388,\n          \"column\": 11\n        },\n        \"end\": {\n          \"line\": 388,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10767,\n      \"end\": 10768,\n      \"loc\": {\n        \"start\": {\n          \"line\": 388,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 388,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 10769,\n      \"end\": 10774,\n      \"loc\": {\n        \"start\": {\n          \"line\": 388,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 388,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10774,\n      \"end\": 10775,\n      \"loc\": {\n        \"start\": {\n          \"line\": 388,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 388,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10779,\n      \"end\": 10780,\n      \"loc\": {\n        \"start\": {\n          \"line\": 389,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 389,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"else\",\n        \"keyword\": \"else\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"else\",\n      \"start\": 10784,\n      \"end\": 10788,\n      \"loc\": {\n        \"start\": {\n          \"line\": 390,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 390,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10789,\n      \"end\": 10790,\n      \"loc\": {\n        \"start\": {\n          \"line\": 390,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 390,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10795,\n      \"end\": 10800,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option1\",\n      \"start\": 10801,\n      \"end\": 10808,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10809,\n      \"end\": 10810,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_end\",\n      \"start\": 10811,\n      \"end\": 10816,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10817,\n      \"end\": 10818,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_start\",\n      \"start\": 10819,\n      \"end\": 10826,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10826,\n      \"end\": 10827,\n      \"loc\": {\n        \"start\": {\n          \"line\": 391,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 391,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10832,\n      \"end\": 10837,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option2\",\n      \"start\": 10838,\n      \"end\": 10845,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10846,\n      \"end\": 10847,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 18\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"b_end\",\n      \"start\": 10848,\n      \"end\": 10853,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10854,\n      \"end\": 10855,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"a_start\",\n      \"start\": 10856,\n      \"end\": 10863,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 35\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10863,\n      \"end\": 10864,\n      \"loc\": {\n        \"start\": {\n          \"line\": 392,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 392,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 10870,\n      \"end\": 10877,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 11\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10878,\n      \"end\": 10879,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 12\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option1\",\n      \"start\": 10880,\n      \"end\": 10887,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 10888,\n      \"end\": 10889,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option2\",\n      \"start\": 10890,\n      \"end\": 10897,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10898,\n      \"end\": 10899,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 32\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option1\",\n      \"start\": 10900,\n      \"end\": 10907,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10908,\n      \"end\": 10909,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 43\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 10910,\n      \"end\": 10911,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 44\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 45\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"option2\",\n      \"start\": 10911,\n      \"end\": 10918,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 45\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 52\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10918,\n      \"end\": 10919,\n      \"loc\": {\n        \"start\": {\n          \"line\": 394,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 394,\n          \"column\": 53\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10923,\n      \"end\": 10924,\n      \"loc\": {\n        \"start\": {\n          \"line\": 395,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 395,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 10927,\n      \"end\": 10928,\n      \"loc\": {\n        \"start\": {\n          \"line\": 396,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 396,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10932,\n      \"end\": 10937,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current_overlap\",\n      \"start\": 10938,\n      \"end\": 10953,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10955,\n      \"end\": 10956,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 10957,\n      \"end\": 10963,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 33\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10963,\n      \"end\": 10964,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 10964,\n      \"end\": 10971,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 34\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 41\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 10971,\n      \"end\": 10972,\n      \"loc\": {\n        \"start\": {\n          \"line\": 398,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 398,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 10975,\n      \"end\": 10980,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"absolute_overlap\",\n      \"start\": 10981,\n      \"end\": 10997,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 10998,\n      \"end\": 10999,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 26\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 11000,\n      \"end\": 11007,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 27\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 11008,\n      \"end\": 11009,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 11010,\n      \"end\": 11011,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 37\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11012,\n      \"end\": 11013,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 39\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 40\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 11014,\n      \"end\": 11015,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 41\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 42\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 11015,\n      \"end\": 11022,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 42\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 49\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11023,\n      \"end\": 11024,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 50\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 51\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 11025,\n      \"end\": 11032,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 52\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 59\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11032,\n      \"end\": 11033,\n      \"loc\": {\n        \"start\": {\n          \"line\": 399,\n          \"column\": 59\n        },\n        \"end\": {\n          \"line\": 399,\n          \"column\": 60\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"if\",\n        \"keyword\": \"if\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"if\",\n      \"start\": 11037,\n      \"end\": 11039,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 4\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"(\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11039,\n      \"end\": 11040,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 4\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 5\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current_overlap\",\n      \"start\": 11040,\n      \"end\": 11055,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 5\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 20\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"==/!=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 6,\n        \"updateContext\": null\n      },\n      \"value\": \"===\",\n      \"start\": 11056,\n      \"end\": 11059,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 21\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 24\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"null\",\n        \"keyword\": \"null\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"null\",\n      \"start\": 11060,\n      \"end\": 11064,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 25\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"||\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 1,\n        \"updateContext\": null\n      },\n      \"value\": \"||\",\n      \"start\": 11065,\n      \"end\": 11067,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"current_overlap\",\n      \"start\": 11068,\n      \"end\": 11083,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 48\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \">\",\n      \"start\": 11084,\n      \"end\": 11085,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 49\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 50\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"absolute_overlap\",\n      \"start\": 11086,\n      \"end\": 11102,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 51\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 67\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \")\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11102,\n      \"end\": 11103,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 67\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 68\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"{\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11104,\n      \"end\": 11105,\n      \"loc\": {\n        \"start\": {\n          \"line\": 401,\n          \"column\": 69\n        },\n        \"end\": {\n          \"line\": 401,\n          \"column\": 70\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"const\",\n        \"keyword\": \"const\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"const\",\n      \"start\": 11109,\n      \"end\": 11114,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 8\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sign\",\n      \"start\": 11115,\n      \"end\": 11119,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11120,\n      \"end\": 11121,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 14\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 15\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 11122,\n      \"end\": 11129,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 16\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"</>\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 7,\n        \"updateContext\": null\n      },\n      \"value\": \"<\",\n      \"start\": 11130,\n      \"end\": 11131,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 0,\n      \"start\": 11132,\n      \"end\": 11133,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 27\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"?\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11134,\n      \"end\": 11135,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 28\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 29\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"+/-\",\n        \"beforeExpr\": true,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": true,\n        \"postfix\": false,\n        \"binop\": 9,\n        \"updateContext\": null\n      },\n      \"value\": \"-\",\n      \"start\": 11136,\n      \"end\": 11137,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 11137,\n      \"end\": 11138,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 31\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 32\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \":\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11139,\n      \"end\": 11140,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 33\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 34\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"num\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": 1,\n      \"start\": 11141,\n      \"end\": 11142,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 35\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 36\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11142,\n      \"end\": 11143,\n      \"loc\": {\n        \"start\": {\n          \"line\": 402,\n          \"column\": 36\n        },\n        \"end\": {\n          \"line\": 402,\n          \"column\": 37\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 11148,\n      \"end\": 11154,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11154,\n      \"end\": 11155,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap\",\n      \"start\": 11155,\n      \"end\": 11162,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 17\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11165,\n      \"end\": 11166,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"absolute_overlap\",\n      \"start\": 11167,\n      \"end\": 11183,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 38\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11183,\n      \"end\": 11184,\n      \"loc\": {\n        \"start\": {\n          \"line\": 404,\n          \"column\": 38\n        },\n        \"end\": {\n          \"line\": 404,\n          \"column\": 39\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 11188,\n      \"end\": 11194,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11194,\n      \"end\": 11195,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_x\",\n      \"start\": 11195,\n      \"end\": 11204,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11205,\n      \"end\": 11206,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"x\",\n      \"start\": 11207,\n      \"end\": 11208,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 11209,\n      \"end\": 11210,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sign\",\n      \"start\": 11211,\n      \"end\": 11215,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11215,\n      \"end\": 11216,\n      \"loc\": {\n        \"start\": {\n          \"line\": 405,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 405,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"result\",\n      \"start\": 11220,\n      \"end\": 11226,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 3\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 9\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \".\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11226,\n      \"end\": 11227,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 9\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 10\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"overlap_y\",\n      \"start\": 11227,\n      \"end\": 11236,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 10\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 19\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"=\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": true,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"=\",\n      \"start\": 11237,\n      \"end\": 11238,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 20\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 21\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"y\",\n      \"start\": 11239,\n      \"end\": 11240,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 22\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 23\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"*\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": 10,\n        \"updateContext\": null\n      },\n      \"value\": \"*\",\n      \"start\": 11241,\n      \"end\": 11242,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 24\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 25\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"name\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"value\": \"sign\",\n      \"start\": 11243,\n      \"end\": 11247,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 26\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 30\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11247,\n      \"end\": 11248,\n      \"loc\": {\n        \"start\": {\n          \"line\": 406,\n          \"column\": 30\n        },\n        \"end\": {\n          \"line\": 406,\n          \"column\": 31\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11251,\n      \"end\": 11252,\n      \"loc\": {\n        \"start\": {\n          \"line\": 407,\n          \"column\": 2\n        },\n        \"end\": {\n          \"line\": 407,\n          \"column\": 3\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11254,\n      \"end\": 11255,\n      \"loc\": {\n        \"start\": {\n          \"line\": 408,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 408,\n          \"column\": 2\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"return\",\n        \"keyword\": \"return\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"return\",\n      \"start\": 11258,\n      \"end\": 11264,\n      \"loc\": {\n        \"start\": {\n          \"line\": 410,\n          \"column\": 1\n        },\n        \"end\": {\n          \"line\": 410,\n          \"column\": 7\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"false\",\n        \"keyword\": \"false\",\n        \"beforeExpr\": false,\n        \"startsExpr\": true,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"value\": \"false\",\n      \"start\": 11265,\n      \"end\": 11270,\n      \"loc\": {\n        \"start\": {\n          \"line\": 410,\n          \"column\": 8\n        },\n        \"end\": {\n          \"line\": 410,\n          \"column\": 13\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \";\",\n        \"beforeExpr\": true,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11270,\n      \"end\": 11271,\n      \"loc\": {\n        \"start\": {\n          \"line\": 410,\n          \"column\": 13\n        },\n        \"end\": {\n          \"line\": 410,\n          \"column\": 14\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"}\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null\n      },\n      \"start\": 11272,\n      \"end\": 11273,\n      \"loc\": {\n        \"start\": {\n          \"line\": 411,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 411,\n          \"column\": 1\n        }\n      }\n    },\n    {\n      \"type\": {\n        \"label\": \"eof\",\n        \"beforeExpr\": false,\n        \"startsExpr\": false,\n        \"rightAssociative\": false,\n        \"isLoop\": false,\n        \"isAssign\": false,\n        \"prefix\": false,\n        \"postfix\": false,\n        \"binop\": null,\n        \"updateContext\": null\n      },\n      \"start\": 11274,\n      \"end\": 11274,\n      \"loc\": {\n        \"start\": {\n          \"line\": 412,\n          \"column\": 0\n        },\n        \"end\": {\n          \"line\": 412,\n          \"column\": 0\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "docs/class/src/Collisions.mjs~Collisions.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../\">\n  <title data-ice=\"title\">Collisions | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><div class=\"header-notice\">\n  <div data-ice=\"importPath\" class=\"import-path\"><pre class=\"prettyprint\"><code data-ice=\"importPathCode\">import {Collisions} from &apos;<span><a href=\"file/src/Collisions.mjs.html#lineNumber12\">collisions</a></span>&apos;</code></pre></div>\n  <span data-ice=\"access\">public</span>\n  <span data-ice=\"kind\">class</span>\n  \n  \n  \n  <span data-ice=\"source\">| <span><a href=\"file/src/Collisions.mjs.html#lineNumber12\">source</a></span></span>\n</div>\n\n<div class=\"self-detail detail\">\n  <h1 data-ice=\"name\">Collisions</h1>\n\n  \n\n  \n  \n  \n  \n  \n  \n  \n  \n  \n\n  \n  \n  <div class=\"description\" data-ice=\"description\"><p>A collision system used to track bodies in order to improve collision detection performance</p>\n</div>\n  \n\n  \n\n  \n\n  \n\n  \n</div>\n\n\n<div data-ice=\"staticMethodSummary\"><h2>Static Method Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Static Public Methods</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      <span data-ice=\"static\">static</span>\n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#static-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a Result used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"constructorSummary\"><h2>Constructor Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Constructor</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-constructor-constructor\">constructor</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n<div data-ice=\"methodSummary\"><h2>Method Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Methods</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-collides\">collides</a></span></span><span class=\"code\" data-ice=\"signature\">(target: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>, result: <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span>, aabb: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Determines if two bodies are colliding</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-createCircle\">createCircle</a></span></span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, radius: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>): <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> and inserts it into the collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-createPoint\">createPoint</a></span></span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>): <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span> and inserts it into the collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-createPolygon\">createPolygon</a></span></span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, points: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;, angle: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>): <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> and inserts it into the collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span> used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-draw\">draw</a></span></span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Draws the bodies within the system to a CanvasRenderingContext2D&apos;s current path</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-drawBVH\">drawBVH</a></span></span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Draws the system&apos;s BVH to a CanvasRenderingContext2D&apos;s current path.</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-insert\">insert</a></span></span><span class=\"code\" data-ice=\"signature\">(bodies: ...<span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | ...<span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | ...<span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Inserts bodies into the collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-potentials\">potentials</a></span></span><span class=\"code\" data-ice=\"signature\">(body: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Returns a list of potential collisions for a body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-remove\">remove</a></span></span><span class=\"code\" data-ice=\"signature\">(bodies: ...<span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | ...<span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | ...<span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Removes bodies from the collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html#instance-method-update\">update</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Updates the collision system.</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n\n\n\n<div data-ice=\"staticMethodDetails\"><h2 data-ice=\"title\">Static Public Methods</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"static-method-createResult\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    <span data-ice=\"static\">static</span>\n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">createResult</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber82\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Creates a Result used to collect the detailed results of a collision test</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"constructorDetails\"><h2 data-ice=\"title\">Public Constructors</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-constructor-constructor\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">constructor</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber16\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n\n<div data-ice=\"methodDetails\"><h2 data-ice=\"title\">Public Methods</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-collides\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">collides</span><span class=\"code\" data-ice=\"signature\">(target: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>, result: <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span>, aabb: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber151\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Determines if two bodies are colliding</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">target</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>The target body to test against</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">result</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  null</li></ul></td>\n      <td data-ice=\"description\"><p>A Result object on which to store information about the collision</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">aabb</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  true</li></ul></td>\n      <td data-ice=\"description\"><p>Set to false to skip the AABB test (useful if you use your own potential collision heuristic)</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  <div class=\"return-params\" data-ice=\"returnParams\">\n    <h4>Return:</h4>\n    <table>\n      <tbody>\n        <tr>\n          <td class=\"return-type code\" data-ice=\"returnType\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></td>\n          \n        </tr>\n      </tbody>\n    </table>\n    <div data-ice=\"returnProperties\">\n</div>\n  </div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-createCircle\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">createCircle</span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, radius: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>): <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber30\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> and inserts it into the collision system</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting X coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting Y coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">radius</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The radius</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">scale</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  1</li></ul></td>\n      <td data-ice=\"description\"><p>The scale</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">padding</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  <div class=\"return-params\" data-ice=\"returnParams\">\n    <h4>Return:</h4>\n    <table>\n      <tbody>\n        <tr>\n          <td class=\"return-type code\" data-ice=\"returnType\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></td>\n          \n        </tr>\n      </tbody>\n    </table>\n    <div data-ice=\"returnProperties\">\n</div>\n  </div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-createPoint\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">createPoint</span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>): <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber64\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span> and inserts it into the collision system</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting X coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting Y coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">padding</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  <div class=\"return-params\" data-ice=\"returnParams\">\n    <h4>Return:</h4>\n    <table>\n      <tbody>\n        <tr>\n          <td class=\"return-type code\" data-ice=\"returnType\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></td>\n          \n        </tr>\n      </tbody>\n    </table>\n    <div data-ice=\"returnProperties\">\n</div>\n  </div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-createPolygon\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">createPolygon</span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, points: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;, angle: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>): <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber49\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> and inserts it into the collision system</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting X coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting Y coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">points</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;</td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  []</li></ul></td>\n      <td data-ice=\"description\"><p>An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">angle</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting rotation in radians</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">scale_x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  1</li></ul></td>\n      <td data-ice=\"description\"><p>The starting scale along the X axis</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">scale_y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  1</li></ul></td>\n      <td data-ice=\"description\"><p>The starting scale long the Y axis</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">padding</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  <div class=\"return-params\" data-ice=\"returnParams\">\n    <h4>Return:</h4>\n    <table>\n      <tbody>\n        <tr>\n          <td class=\"return-type code\" data-ice=\"returnType\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></td>\n          \n        </tr>\n      </tbody>\n    </table>\n    <div data-ice=\"returnProperties\">\n</div>\n  </div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-createResult\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">createResult</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber75\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span> used to collect the detailed results of a collision test</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-draw\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">draw</span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber123\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Draws the bodies within the system to a CanvasRenderingContext2D&apos;s current path</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">context</td>\n      <td data-ice=\"type\" class=\"code\"><span>CanvasRenderingContext2D</span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>The context to draw to</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-drawBVH\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">drawBVH</span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber131\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Draws the system&apos;s BVH to a CanvasRenderingContext2D&apos;s current path. This is useful for testing out different padding values for bodies.</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">context</td>\n      <td data-ice=\"type\" class=\"code\"><span>CanvasRenderingContext2D</span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>The context to draw to</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-insert\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">insert</span><span class=\"code\" data-ice=\"signature\">(bodies: ...<span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | ...<span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | ...<span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber90\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Inserts bodies into the collision system</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">bodies</td>\n      <td data-ice=\"type\" class=\"code\">...<span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | ...<span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | ...<span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"></td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-potentials\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">potentials</span><span class=\"code\" data-ice=\"signature\">(body: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber140\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Returns a list of potential collisions for a body</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">body</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>The body to test for potential collisions against</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  <div class=\"return-params\" data-ice=\"returnParams\">\n    <h4>Return:</h4>\n    <table>\n      <tbody>\n        <tr>\n          <td class=\"return-type code\" data-ice=\"returnType\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</td>\n          \n        </tr>\n      </tbody>\n    </table>\n    <div data-ice=\"returnProperties\">\n</div>\n  </div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-remove\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">remove</span><span class=\"code\" data-ice=\"signature\">(bodies: ...<span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | ...<span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | ...<span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber102\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Removes bodies from the collision system</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">bodies</td>\n      <td data-ice=\"type\" class=\"code\">...<span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | ...<span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | ...<span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"></td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-update\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">update</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/Collisions.mjs.html#lineNumber113\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Updates the collision system. This should be called before any collisions are tested.</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/class/src/modules/Body.mjs~Body.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">Body | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><div class=\"header-notice\">\n  <div data-ice=\"importPath\" class=\"import-path\"><pre class=\"prettyprint\"><code data-ice=\"importPathCode\">import Body from &apos;<span><a href=\"file/src/modules/Body.mjs.html#lineNumber9\">collisions/src/modules/Body.mjs</a></span>&apos;</code></pre></div>\n  <span data-ice=\"access\">protected</span>\n  <span data-ice=\"kind\">class</span>\n  \n  \n  \n  <span data-ice=\"source\">| <span><a href=\"file/src/modules/Body.mjs.html#lineNumber9\">source</a></span></span>\n</div>\n\n<div class=\"self-detail detail\">\n  <h1 data-ice=\"name\">Body</h1>\n\n  \n\n  \n  \n  \n  <div class=\"flat-list\" data-ice=\"directSubclass\"><h4>Direct Subclass:</h4><div><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span>, <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></div></div>\n  <div class=\"flat-list\" data-ice=\"indirectSubclass\"><h4>Indirect Subclass:</h4><div><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></div></div>\n  \n  \n  \n  \n\n  \n  \n  <div class=\"description\" data-ice=\"description\"><p>The base class for bodies used to detect collisions</p>\n</div>\n  \n\n  \n\n  \n\n  \n\n  \n</div>\n\n\n<div data-ice=\"staticMethodSummary\"><h2>Static Method Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Static Public Methods</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      <span data-ice=\"static\">static</span>\n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#static-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a Result used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"constructorSummary\"><h2>Constructor Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Constructor</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-constructor-constructor\">constructor</a></span></span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"memberSummary\"><h2>Member Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Members</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-padding\">padding</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-x\">x</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The X coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-y\">y</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The Y coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"methodSummary\"><h2>Method Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Methods</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-collides\">collides</a></span></span><span class=\"code\" data-ice=\"signature\">(target: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>, result: <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span>, aabb: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Determines if the body is colliding with another body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span> used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-potentials\">potentials</a></span></span><span class=\"code\" data-ice=\"signature\">(): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Returns a list of potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-remove\">remove</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Removes the body from its current collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n\n\n\n<div data-ice=\"staticMethodDetails\"><h2 data-ice=\"title\">Static Public Methods</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"static-method-createResult\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    <span data-ice=\"static\">static</span>\n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">createResult</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber115\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Creates a Result used to collect the detailed results of a collision test</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"constructorDetails\"><h2 data-ice=\"title\">Public Constructors</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-constructor-constructor\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">constructor</span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber16\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting X coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting Y coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">padding</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"memberDetails\"><h2 data-ice=\"title\">Public Members</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-padding\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">padding</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber33\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-x\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">x</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber21\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The X coordinate of the body</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-y\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">y</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber27\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The Y coordinate of the body</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"methodDetails\"><h2 data-ice=\"title\">Public Methods</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-collides\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">collides</span><span class=\"code\" data-ice=\"signature\">(target: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>, result: <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span>, aabb: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber76\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Determines if the body is colliding with another body</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">target</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>The target body to test against</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">result</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  null</li></ul></td>\n      <td data-ice=\"description\"><p>A Result object on which to store information about the collision</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">aabb</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  true</li></ul></td>\n      <td data-ice=\"description\"><p>Set to false to skip the AABB test (useful if you use your own potential collision heuristic)</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  <div class=\"return-params\" data-ice=\"returnParams\">\n    <h4>Return:</h4>\n    <table>\n      <tbody>\n        <tr>\n          <td class=\"return-type code\" data-ice=\"returnType\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></td>\n          \n        </tr>\n      </tbody>\n    </table>\n    <div data-ice=\"returnProperties\">\n</div>\n  </div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-createResult\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">createResult</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber108\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span> used to collect the detailed results of a collision test</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-potentials\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">potentials</span><span class=\"code\" data-ice=\"signature\">(): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber84\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Returns a list of potential collisions</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  <div class=\"return-params\" data-ice=\"returnParams\">\n    <h4>Return:</h4>\n    <table>\n      <tbody>\n        <tr>\n          <td class=\"return-type code\" data-ice=\"returnType\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</td>\n          \n        </tr>\n      </tbody>\n    </table>\n    <div data-ice=\"returnProperties\">\n</div>\n  </div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-remove\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">remove</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Body.mjs.html#lineNumber97\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Removes the body from its current collision system</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/class/src/modules/Circle.mjs~Circle.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">Circle | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><div class=\"header-notice\">\n  <div data-ice=\"importPath\" class=\"import-path\"><pre class=\"prettyprint\"><code data-ice=\"importPathCode\">import Circle from &apos;<span><a href=\"file/src/modules/Circle.mjs.html#lineNumber7\">collisions/src/modules/Circle.mjs</a></span>&apos;</code></pre></div>\n  <span data-ice=\"access\">public</span>\n  <span data-ice=\"kind\">class</span>\n  \n  \n  \n  <span data-ice=\"source\">| <span><a href=\"file/src/modules/Circle.mjs.html#lineNumber7\">source</a></span></span>\n</div>\n\n<div class=\"self-detail detail\">\n  <h1 data-ice=\"name\">Circle</h1>\n\n  \n\n  \n  \n  <div class=\"flat-list\" data-ice=\"extendsChain\"><h4>Extends:</h4><div><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span> &#x2192; Circle</div></div>\n  \n  \n  \n  \n  \n  \n\n  \n  \n  <div class=\"description\" data-ice=\"description\"><p>A circle used to detect collisions</p>\n</div>\n  \n\n  \n\n  \n\n  \n\n  \n</div>\n\n\n\n<div data-ice=\"constructorSummary\"><h2>Constructor Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Constructor</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html#instance-constructor-constructor\">constructor</a></span></span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, radius: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"memberSummary\"><h2>Member Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Members</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html#instance-member-radius\">radius</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html#instance-member-scale\">scale</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"methodSummary\"><h2>Method Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Methods</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html#instance-method-draw\">draw</a></span></span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Draws the circle to a CanvasRenderingContext2D&apos;s current path</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n<div class=\"inherited-summary\" data-ice=\"inheritedSummary\"><h2>Inherited Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\"><span class=\"toggle closed\"></span> From class <span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      <span data-ice=\"static\">static</span>\n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#static-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a Result used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-padding\">padding</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-x\">x</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The X coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-y\">y</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The Y coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-collides\">collides</a></span></span><span class=\"code\" data-ice=\"signature\">(target: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>, result: <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span>, aabb: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Determines if the body is colliding with another body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span> used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-potentials\">potentials</a></span></span><span class=\"code\" data-ice=\"signature\">(): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Returns a list of potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-remove\">remove</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Removes the body from its current collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n\n\n<div data-ice=\"constructorDetails\"><h2 data-ice=\"title\">Public Constructors</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-constructor-constructor\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">constructor</span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, radius: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Circle.mjs.html#lineNumber16\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  <div data-ice=\"override\"><h4>Override:</h4><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-constructor-constructor\">Body#constructor</a></span></div>\n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting X coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting Y coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">radius</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The radius</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">scale</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  1</li></ul></td>\n      <td data-ice=\"description\"><p>The scale</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">padding</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"memberDetails\"><h2 data-ice=\"title\">Public Members</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-radius\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">radius</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Circle.mjs.html#lineNumber23\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-scale\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">scale</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Circle.mjs.html#lineNumber29\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"methodDetails\"><h2 data-ice=\"title\">Public Methods</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-draw\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">draw</span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Circle.mjs.html#lineNumber36\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Draws the circle to a CanvasRenderingContext2D&apos;s current path</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">context</td>\n      <td data-ice=\"type\" class=\"code\"><span>CanvasRenderingContext2D</span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>The context to add the arc to</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/class/src/modules/Point.mjs~Point.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">Point | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><div class=\"header-notice\">\n  <div data-ice=\"importPath\" class=\"import-path\"><pre class=\"prettyprint\"><code data-ice=\"importPathCode\">import Point from &apos;<span><a href=\"file/src/modules/Point.mjs.html#lineNumber7\">collisions/src/modules/Point.mjs</a></span>&apos;</code></pre></div>\n  <span data-ice=\"access\">public</span>\n  <span data-ice=\"kind\">class</span>\n  \n  \n  \n  <span data-ice=\"source\">| <span><a href=\"file/src/modules/Point.mjs.html#lineNumber7\">source</a></span></span>\n</div>\n\n<div class=\"self-detail detail\">\n  <h1 data-ice=\"name\">Point</h1>\n\n  \n\n  \n  \n  <div class=\"flat-list\" data-ice=\"extendsChain\"><h4>Extends:</h4><div><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span> &#x2192; <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> &#x2192; Point</div></div>\n  \n  \n  \n  \n  \n  \n\n  \n  \n  <div class=\"description\" data-ice=\"description\"><p>A point used to detect collisions</p>\n</div>\n  \n\n  \n\n  \n\n  \n\n  \n</div>\n\n\n\n<div data-ice=\"constructorSummary\"><h2>Constructor Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Constructor</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html#instance-constructor-constructor\">constructor</a></span></span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n\n\n<div class=\"inherited-summary\" data-ice=\"inheritedSummary\"><h2>Inherited Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\"><span class=\"toggle closed\"></span> From class <span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      <span data-ice=\"static\">static</span>\n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#static-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a Result used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-padding\">padding</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-x\">x</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The X coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-y\">y</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The Y coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-collides\">collides</a></span></span><span class=\"code\" data-ice=\"signature\">(target: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>, result: <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span>, aabb: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Determines if the body is colliding with another body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span> used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-potentials\">potentials</a></span></span><span class=\"code\" data-ice=\"signature\">(): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Returns a list of potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-remove\">remove</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Removes the body from its current collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n\n<table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\"><span class=\"toggle closed\"></span> From class <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-member-angle\">angle</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The angle of the body in radians</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_x\">scale_x</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The scale of the body along the X axis</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_y\">scale_y</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The scale of the body along the Y axis</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-method-draw\">draw</a></span></span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Draws the polygon to a CanvasRenderingContext2D&apos;s current path</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-method-setPoints\">setPoints</a></span></span><span class=\"code\" data-ice=\"signature\">(new_points: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Sets the points making up the polygon.</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n\n\n<div data-ice=\"constructorDetails\"><h2 data-ice=\"title\">Public Constructors</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-constructor-constructor\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">constructor</span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Point.mjs.html#lineNumber14\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  <div data-ice=\"override\"><h4>Override:</h4><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-constructor-constructor\">Polygon#constructor</a></span></div>\n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting X coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting Y coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">padding</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/class/src/modules/Polygon.mjs~Polygon.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">Polygon | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><div class=\"header-notice\">\n  <div data-ice=\"importPath\" class=\"import-path\"><pre class=\"prettyprint\"><code data-ice=\"importPathCode\">import Polygon from &apos;<span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber7\">collisions/src/modules/Polygon.mjs</a></span>&apos;</code></pre></div>\n  <span data-ice=\"access\">public</span>\n  <span data-ice=\"kind\">class</span>\n  \n  \n  \n  <span data-ice=\"source\">| <span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber7\">source</a></span></span>\n</div>\n\n<div class=\"self-detail detail\">\n  <h1 data-ice=\"name\">Polygon</h1>\n\n  \n\n  \n  \n  <div class=\"flat-list\" data-ice=\"extendsChain\"><h4>Extends:</h4><div><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span> &#x2192; Polygon</div></div>\n  <div class=\"flat-list\" data-ice=\"directSubclass\"><h4>Direct Subclass:</h4><div><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></div></div>\n  \n  \n  \n  \n  \n\n  \n  \n  <div class=\"description\" data-ice=\"description\"><p>A polygon used to detect collisions</p>\n</div>\n  \n\n  \n\n  \n\n  \n\n  \n</div>\n\n\n\n<div data-ice=\"constructorSummary\"><h2>Constructor Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Constructor</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-constructor-constructor\">constructor</a></span></span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, points: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;, angle: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"memberSummary\"><h2>Member Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Members</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-member-angle\">angle</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The angle of the body in radians</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_x\">scale_x</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The scale of the body along the X axis</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_y\">scale_y</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The scale of the body along the Y axis</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"methodSummary\"><h2>Method Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Methods</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-method-draw\">draw</a></span></span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Draws the polygon to a CanvasRenderingContext2D&apos;s current path</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html#instance-method-setPoints\">setPoints</a></span></span><span class=\"code\" data-ice=\"signature\">(new_points: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;)</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Sets the points making up the polygon.</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n<div class=\"inherited-summary\" data-ice=\"inheritedSummary\"><h2>Inherited Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\"><span class=\"toggle closed\"></span> From class <span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      <span data-ice=\"static\">static</span>\n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#static-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a Result used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-padding\">padding</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-x\">x</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The X coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-member-y\">y</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The Y coordinate of the body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-collides\">collides</a></span></span><span class=\"code\" data-ice=\"signature\">(target: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span>, result: <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span>, aabb: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span>): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Determines if the body is colliding with another body</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-createResult\">createResult</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Creates a <span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span> used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-potentials\">potentials</a></span></span><span class=\"code\" data-ice=\"signature\">(): <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span>&gt;</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Returns a list of potential collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-method-remove\">remove</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>Removes the body from its current collision system</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n\n\n<div data-ice=\"constructorDetails\"><h2 data-ice=\"title\">Public Constructors</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-constructor-constructor\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">constructor</span><span class=\"code\" data-ice=\"signature\">(x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, points: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;, angle: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_x: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, scale_y: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>, padding: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber18\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  <div data-ice=\"override\"><h4>Override:</h4><span><a href=\"class/src/modules/Body.mjs~Body.html#instance-constructor-constructor\">Body#constructor</a></span></div>\n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting X coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting Y coordinate</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">points</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;</td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  []</li></ul></td>\n      <td data-ice=\"description\"><p>An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">angle</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The starting rotation in radians</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">scale_x</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  1</li></ul></td>\n      <td data-ice=\"description\"><p>The starting scale along the X axis</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">scale_y</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  1</li></ul></td>\n      <td data-ice=\"description\"><p>The starting scale long the Y axis</p>\n</td>\n    </tr>\n<tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">padding</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></td>\n      <td data-ice=\"appendix\"><ul><li>optional</li>\n<li>default:  0</li></ul></td>\n      <td data-ice=\"description\"><p>The amount to pad the bounding volume when testing for potential collisions</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"memberDetails\"><h2 data-ice=\"title\">Public Members</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-angle\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">angle</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber25\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The angle of the body in radians</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-scale_x\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">scale_x</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber31\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The scale of the body along the X axis</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-scale_y\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">scale_y</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber37\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The scale of the body along the Y axis</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"methodDetails\"><h2 data-ice=\"title\">Public Methods</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-draw\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">draw</span><span class=\"code\" data-ice=\"signature\">(context: <span>CanvasRenderingContext2D</span>)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber95\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Draws the polygon to a CanvasRenderingContext2D&apos;s current path</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">context</td>\n      <td data-ice=\"type\" class=\"code\"><span>CanvasRenderingContext2D</span></td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>The context to add the shape to</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-method-setPoints\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">setPoints</span><span class=\"code\" data-ice=\"signature\">(new_points: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;)</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Polygon.mjs.html#lineNumber130\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>Sets the points making up the polygon. It&apos;s important to use this function when changing the polygon&apos;s shape to ensure internal data is also updated.</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\"><div data-ice=\"properties\">\n  <h4 data-ice=\"title\">Params:</h4>\n  <table class=\"params\">\n    <thead>\n    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>\n    </thead>\n    <tbody>\n    \n    <tr data-ice=\"property\" data-depth=\"0\">\n      <td data-ice=\"name\" class=\"code\" data-depth=\"0\">new_points</td>\n      <td data-ice=\"type\" class=\"code\"><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\">Array</a></span>&lt;<span><span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span><span>[]</span></span>&gt;</td>\n      <td data-ice=\"appendix\"></td>\n      <td data-ice=\"description\"><p>An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]</p>\n</td>\n    </tr>\n</tbody>\n  </table>\n</div>\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/class/src/modules/Result.mjs~Result.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">Result | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><div class=\"header-notice\">\n  <div data-ice=\"importPath\" class=\"import-path\"><pre class=\"prettyprint\"><code data-ice=\"importPathCode\">import Result from &apos;<span><a href=\"file/src/modules/Result.mjs.html#lineNumber7\">collisions/src/modules/Result.mjs</a></span>&apos;</code></pre></div>\n  <span data-ice=\"access\">public</span>\n  <span data-ice=\"kind\">class</span>\n  \n  \n  \n  <span data-ice=\"source\">| <span><a href=\"file/src/modules/Result.mjs.html#lineNumber7\">source</a></span></span>\n</div>\n\n<div class=\"self-detail detail\">\n  <h1 data-ice=\"name\">Result</h1>\n\n  \n\n  \n  \n  \n  \n  \n  \n  \n  \n  \n\n  \n  \n  <div class=\"description\" data-ice=\"description\"><p>An object used to collect the detailed results of a collision test</p>\n<blockquote>\n<p><strong>Note:</strong> It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory</p>\n</blockquote>\n</div>\n  \n\n  \n\n  \n\n  \n\n  \n</div>\n\n\n\n<div data-ice=\"constructorSummary\"><h2>Constructor Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Constructor</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-constructor-constructor\">constructor</a></span></span><span class=\"code\" data-ice=\"signature\">()</span>\n        </p>\n      </div>\n      <div>\n        \n        \n        \n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n<div data-ice=\"memberSummary\"><h2>Member Summary</h2><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">Public Members</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-member-a\">a</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The source body tested</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-member-a_in_b\">a_in_b</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>True if A is completely contained within B</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-member-b\">b</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The target body tested against</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-member-collision\">collision</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>True if a collision was detected</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-member-overlap\">overlap</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The magnitude of the shortest axis of overlap</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-member-overlap_x\">overlap_x</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The X direction of the shortest axis of overlap</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          \n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html#instance-member-overlap_y\">overlap_y</a></span></span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The Y direction of the shortest axis of overlap</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n\n\n\n\n\n\n<div data-ice=\"constructorDetails\"><h2 data-ice=\"title\">Public Constructors</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-constructor-constructor\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">constructor</span><span class=\"code\" data-ice=\"signature\">()</span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber11\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  \n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n<div data-ice=\"memberDetails\"><h2 data-ice=\"title\">Public Members</h2>\n\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-a\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">a</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber22\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The source body tested</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-a_in_b\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">a_in_b</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber34\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>True if A is completely contained within B</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-b\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">b</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span> | <span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span> | <span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber28\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The target body tested against</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-collision\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">collision</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\">Boolean</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber16\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>True if a collision was detected</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-overlap\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">overlap</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber46\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The magnitude of the shortest axis of overlap</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-overlap_x\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">overlap_x</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber52\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The X direction of the shortest axis of overlap</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n<div class=\"detail\" data-ice=\"detail\">\n  <h3 data-ice=\"anchor\" id=\"instance-member-overlap_y\">\n    <span class=\"access\" data-ice=\"access\">public</span>\n    \n    \n    \n    \n    \n    <span class=\"code\" data-ice=\"name\">overlap_y</span><span class=\"code\" data-ice=\"signature\">: <span><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\">Number</a></span></span>\n    <span class=\"right-info\">\n      \n      \n      <span data-ice=\"source\"><span><a href=\"file/src/modules/Result.mjs.html#lineNumber58\">source</a></span></span>\n    </span>\n  </h3>\n\n  \n  \n  \n  <div data-ice=\"description\"><p>The Y direction of the shortest axis of overlap</p>\n</div>\n\n  \n\n  <div data-ice=\"properties\">\n</div>\n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n\n  \n  \n</div>\n</div>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/coverage.json",
    "content": "{\n  \"coverage\": \"100%\",\n  \"expectCount\": 110,\n  \"actualCount\": 110,\n  \"files\": {\n    \"src/Collisions.mjs\": {\n      \"expectCount\": 15,\n      \"actualCount\": 15,\n      \"undocumentLines\": []\n    },\n    \"src/modules/BVH.mjs\": {\n      \"expectCount\": 11,\n      \"actualCount\": 11,\n      \"undocumentLines\": []\n    },\n    \"src/modules/BVHBranch.mjs\": {\n      \"expectCount\": 15,\n      \"actualCount\": 15,\n      \"undocumentLines\": []\n    },\n    \"src/modules/Body.mjs\": {\n      \"expectCount\": 21,\n      \"actualCount\": 21,\n      \"undocumentLines\": []\n    },\n    \"src/modules/Circle.mjs\": {\n      \"expectCount\": 5,\n      \"actualCount\": 5,\n      \"undocumentLines\": []\n    },\n    \"src/modules/Point.mjs\": {\n      \"expectCount\": 3,\n      \"actualCount\": 3,\n      \"undocumentLines\": []\n    },\n    \"src/modules/Polygon.mjs\": {\n      \"expectCount\": 25,\n      \"actualCount\": 25,\n      \"undocumentLines\": []\n    },\n    \"src/modules/Result.mjs\": {\n      \"expectCount\": 9,\n      \"actualCount\": 9,\n      \"undocumentLines\": []\n    },\n    \"src/modules/SAT.mjs\": {\n      \"expectCount\": 6,\n      \"actualCount\": 6,\n      \"undocumentLines\": []\n    }\n  }\n}"
  },
  {
    "path": "docs/css/github.css",
    "content": "/* github markdown */\n.github-markdown {\n  font-size: 16px;\n}\n\n.github-markdown h1,\n.github-markdown h2,\n.github-markdown h3,\n.github-markdown h4,\n.github-markdown h5 {\n  margin-top: 1em;\n  margin-bottom: 16px;\n  font-weight: bold;\n  padding: 0;\n}\n\n.github-markdown h1:nth-of-type(1) {\n  margin-top: 0;\n}\n\n.github-markdown h1 {\n  font-size: 2em;\n  padding-bottom: 0.3em;\n}\n\n.github-markdown h2 {\n  font-size: 1.75em;\n  padding-bottom: 0.3em;\n}\n\n.github-markdown h3 {\n  font-size: 1.5em;\n}\n\n.github-markdown h4 {\n  font-size: 1.25em;\n}\n\n.github-markdown h5 {\n  font-size: 1em;\n}\n\n.github-markdown ul, .github-markdown ol {\n  padding-left: 2em;\n}\n\n.github-markdown pre > code {\n  font-size: 0.85em;\n}\n\n.github-markdown table {\n  margin-bottom: 1em;\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\n.github-markdown table tr {\n  background-color: #fff;\n  border-top: 1px solid #ccc;\n}\n\n.github-markdown table th,\n.github-markdown table td {\n  padding: 6px 13px;\n  border: 1px solid #ddd;\n}\n\n.github-markdown table tr:nth-child(2n) {\n  background-color: #f8f8f8;\n}\n\n.github-markdown hr {\n  border-right: 0;\n  border-bottom: 1px solid #e5e5e5;\n  border-left: 0;\n  border-top: 0;\n}\n\n/** badge(.svg) does not have border */\n.github-markdown img:not([src*=\".svg\"]) {\n  max-width: 100%;\n  box-shadow: 1px 1px 1px rgba(0,0,0,0.5);\n}\n"
  },
  {
    "path": "docs/css/identifiers.css",
    "content": ".identifiers-wrap {\n  display: flex;\n  align-items: flex-start;\n}\n\n.identifier-dir-tree {\n  background: #fff;\n  border: solid 1px #ddd;\n  border-radius: 0.25em;\n  top: 52px;\n  position: -webkit-sticky;\n  position: sticky;\n  max-height: calc(100vh - 155px);\n  overflow-y: scroll;\n  min-width: 200px;\n  margin-left: 1em;\n}\n\n.identifier-dir-tree-header {\n  padding: 0.5em;\n  background-color: #fafafa;\n  border-bottom: solid 1px #ddd;\n}\n\n.identifier-dir-tree-content {\n  padding: 0 0.5em 0;\n}\n\n.identifier-dir-tree-content > div {\n  padding-top: 0.25em;\n  padding-bottom: 0.25em;\n}\n\n.identifier-dir-tree-content a {\n  color: inherit;\n}\n\n"
  },
  {
    "path": "docs/css/manual.css",
    "content": ".github-markdown .manual-toc {\n  padding-left: 0;\n}\n\n.manual-index .manual-cards {\n  display: flex;\n  flex-wrap: wrap;\n}\n\n.manual-index .manual-card-wrap {\n  width: 280px;\n  padding: 10px 20px 10px 0;\n  box-sizing: border-box;\n}\n\n.manual-index .manual-card-wrap > h1 {\n  margin: 0;\n  font-size: 1em;\n  font-weight: 600;\n  padding: 0.2em 0 0.2em 0.5em;\n  border-radius: 0.1em 0.1em 0 0;\n  border: none;\n}\n\n.manual-index .manual-card-wrap > h1 span {\n  color: #555;\n}\n\n.manual-index .manual-card {\n  height: 200px;\n  overflow: hidden;\n  border: solid 1px rgba(230, 230, 230, 0.84);\n  border-radius: 0 0 0.1em 0.1em;\n  padding: 8px;\n  position: relative;\n}\n\n.manual-index .manual-card > div {\n  transform: scale(0.4);\n  transform-origin: 0 0;\n  width: 250%;\n}\n\n.manual-index .manual-card > a {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(210, 210, 210, 0.1);\n}\n\n.manual-index .manual-card > a:hover {\n  background: none;\n}\n\n.manual-index .manual-badge {\n  margin: 0;\n}\n\n.manual-index .manual-user-index {\n  margin-bottom: 1em;\n  border-bottom: solid 1px #ddd;\n}\n\n.manual-root .navigation {\n  padding-left: 4px;\n  margin-top: 4px;\n}\n\n.navigation .manual-toc-root > div {\n  padding-left: 0.25em;\n  padding-right: 0.75em;\n}\n\n.github-markdown .manual-toc-title a {\n  color: inherit;\n}\n\n.manual-breadcrumb-list {\n  font-size: 0.8em;\n  margin-bottom: 1em;\n}\n\n.manual-toc-title a:hover {\n  color: #039BE5;\n}\n\n.manual-toc li {\n  margin: 0.75em 0;\n  list-style-type: none;\n}\n\n.navigation .manual-toc [class^=\"indent-h\"] a {\n  color: #666;\n}\n\n.navigation .manual-toc .indent-h1 a {\n  color: #555;\n  font-weight: 600;\n  display: block;\n}\n\n.manual-toc .indent-h1 {\n  display: block;\n  margin: 0.4em 0 0 0.25em;\n  padding: 0.2em 0 0.2em 0.5em;\n  border-radius: 0.1em;\n}\n\n.manual-root .navigation .manual-toc li:not(.indent-h1) {\n  margin-top: 0.5em;\n}\n\n.manual-toc .indent-h2 {\n  display: none;\n  margin-left: 1.5em;\n}\n.manual-toc .indent-h3 {\n  display: none;\n  margin-left: 2.5em;\n}\n.manual-toc .indent-h4 {\n  display: none;\n  margin-left: 3.5em;\n}\n.manual-toc .indent-h5 {\n  display: none;\n  margin-left: 4.5em;\n}\n\n.manual-nav li {\n  margin: 0.75em 0;\n}\n"
  },
  {
    "path": "docs/css/prettify-tomorrow.css",
    "content": "/* Tomorrow Theme */\n/* Original theme - https://github.com/chriskempson/tomorrow-theme */\n/* Pretty printing styles. Used with prettify.js. */\n/* SPAN elements with the classes below are added by prettyprint. */\n/* plain text */\n.pln {\n  color: #4d4d4c; }\n\n@media screen {\n  /* string content */\n  .str {\n    color: #718c00; }\n\n  /* a keyword */\n  .kwd {\n    color: #8959a8; }\n\n  /* a comment */\n  .com {\n    color: #8e908c; }\n\n  /* a type name */\n  .typ {\n    color: #4271ae; }\n\n  /* a literal value */\n  .lit {\n    color: #f5871f; }\n\n  /* punctuation */\n  .pun {\n    color: #4d4d4c; }\n\n  /* lisp open bracket */\n  .opn {\n    color: #4d4d4c; }\n\n  /* lisp close bracket */\n  .clo {\n    color: #4d4d4c; }\n\n  /* a markup tag name */\n  .tag {\n    color: #c82829; }\n\n  /* a markup attribute name */\n  .atn {\n    color: #f5871f; }\n\n  /* a markup attribute value */\n  .atv {\n    color: #3e999f; }\n\n  /* a declaration */\n  .dec {\n    color: #f5871f; }\n\n  /* a variable name */\n  .var {\n    color: #c82829; }\n\n  /* a function name */\n  .fun {\n    color: #4271ae; } }\n/* Use higher contrast and text-weight for printable form. */\n@media print, projection {\n  .str {\n    color: #060; }\n\n  .kwd {\n    color: #006;\n    font-weight: bold; }\n\n  .com {\n    color: #600;\n    font-style: italic; }\n\n  .typ {\n    color: #404;\n    font-weight: bold; }\n\n  .lit {\n    color: #044; }\n\n  .pun, .opn, .clo {\n    color: #440; }\n\n  .tag {\n    color: #006;\n    font-weight: bold; }\n\n  .atn {\n    color: #404; }\n\n  .atv {\n    color: #060; } }\n/* Style */\n/*\npre.prettyprint {\n  background: white;\n  font-family: Consolas, Monaco, 'Andale Mono', monospace;\n  font-size: 12px;\n  line-height: 1.5;\n  border: 1px solid #ccc;\n  padding: 10px; }\n*/\n\n/* Specify class=linenums on a pre to get line numbering */\nol.linenums {\n  margin-top: 0;\n  margin-bottom: 0; }\n\n/* IE indents via margin-left */\nli.L0,\nli.L1,\nli.L2,\nli.L3,\nli.L4,\nli.L5,\nli.L6,\nli.L7,\nli.L8,\nli.L9 {\n  /* */ }\n\n/* Alternate shading for lines */\nli.L1,\nli.L3,\nli.L5,\nli.L7,\nli.L9 {\n  /* */ }\n"
  },
  {
    "path": "docs/css/search.css",
    "content": "/* search box */\n.search-box {\n  position: absolute;\n  top: 10px;\n  right: 50px;\n  padding-right: 8px;\n  padding-bottom: 10px;\n  line-height: normal;\n  font-size: 12px;\n}\n\n.search-box img {\n  width: 20px;\n  vertical-align: top;\n}\n\n.search-input {\n  display: inline;\n  visibility: hidden;\n  width: 0;\n  padding: 2px;\n  height: 1.5em;\n  outline: none;\n  background: transparent;\n  border: 1px #0af;\n  border-style: none none solid none;\n  vertical-align: bottom;\n}\n\n.search-input-edge {\n  display: none;\n  width: 1px;\n  height: 5px;\n  background-color: #0af;\n  vertical-align: bottom;\n}\n\n.search-result {\n  position: absolute;\n  display: none;\n  height: 600px;\n  width: 100%;\n  padding: 0;\n  margin-top: 5px;\n  margin-left: 24px;\n  background: white;\n  box-shadow: 1px 1px 4px rgb(0,0,0);\n  white-space: nowrap;\n  overflow-y: scroll;\n}\n\n.search-result-import-path {\n  color: #aaa;\n  font-size: 12px;\n}\n\n.search-result li {\n  list-style: none;\n  padding: 2px 4px;\n}\n\n.search-result li a {\n  display: block;\n}\n\n.search-result li.selected {\n  background: #ddd;\n}\n\n.search-result li.search-separator {\n  background: rgb(37, 138, 175);\n  color: white;\n}\n\n.search-box.active .search-input {\n  visibility: visible;\n  transition: width 0.2s ease-out;\n  width: 300px;\n}\n\n.search-box.active .search-input-edge {\n  display: inline-block;\n}\n\n"
  },
  {
    "path": "docs/css/source.css",
    "content": "table.files-summary {\n  width: 100%;\n  margin: 10px 0;\n  border-spacing: 0;\n  border: 0;\n  border-collapse: collapse;\n  text-align: right;\n}\n\ntable.files-summary tbody tr:hover {\n  background: #eee;\n}\n\ntable.files-summary td:first-child,\ntable.files-summary td:nth-of-type(2) {\n  text-align: left;\n}\n\ntable.files-summary[data-use-coverage=\"false\"] td.coverage {\n  display: none;\n}\n\ntable.files-summary thead {\n  background: #fafafa;\n}\n\ntable.files-summary td {\n  border: solid 1px #ddd;\n  padding: 4px 10px;\n  vertical-align: top;\n}\n\ntable.files-summary td.identifiers > span {\n  display: block;\n  margin-top: 4px;\n}\ntable.files-summary td.identifiers > span:first-child {\n  margin-top: 0;\n}\n\ntable.files-summary .coverage-count {\n  font-size: 12px;\n  color: #aaa;\n  display: inline-block;\n  min-width: 40px;\n}\n\n.total-coverage-count {\n  position: relative;\n  bottom: 2px;\n  font-size: 12px;\n  color: #666;\n  font-weight: 500;\n  padding-left: 5px;\n}\n"
  },
  {
    "path": "docs/css/style.css",
    "content": "@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,700);\n@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,600,700);\n@import url(./manual.css);\n@import url(./source.css);\n@import url(./test.css);\n@import url(./identifiers.css);\n@import url(./github.css);\n@import url(./search.css);\n\n* {\n  margin: 0;\n  padding: 0;\n  text-decoration: none;\n}\n\nhtml\n{\n  font-family: 'Source Sans Pro', 'Roboto', sans-serif;\n  overflow: auto;\n  /*font-size: 14px;*/\n  /*color: #4d4e53;*/\n  /*color: rgba(0, 0, 0, .68);*/\n  color: #555;\n  background-color: #fff;\n}\n\na {\n  /*color: #0095dd;*/\n  /*color:rgb(37, 138, 175);*/\n  color: #039BE5;\n}\n\ncode a:hover {\n  text-decoration: underline;\n}\n\nul, ol {\n  padding-left: 20px;\n}\n\nul li {\n  list-style: disc;\n  margin: 4px 0;\n}\n\nol li {\n  margin: 4px 0;\n}\n\nh1 {\n  margin-bottom: 10px;\n  font-size: 34px;\n  font-weight: 300;\n  border-bottom: solid 1px #ddd;\n}\n\nh2 {\n  margin-top: 24px;\n  margin-bottom: 10px;\n  font-size: 20px;\n  border-bottom: solid 1px #ddd;\n  font-weight: 300;\n}\n\nh3 {\n  position: relative;\n  font-size: 16px;\n  margin-bottom: 12px;\n  padding: 4px;\n  font-weight: 300;\n}\n\ndetails {\n  cursor: pointer;\n}\n\ndel {\n  text-decoration: line-through;\n}\n\np {\n  margin-bottom: 15px;\n  line-height: 1.5;\n}\n\ncode {\n  font-family: \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\n}\n\npre > code {\n  display: block;\n}\n\npre.prettyprint, pre > code {\n  padding: 4px;\n  margin: 1em 0;\n  background-color: #f5f5f5;\n  border-radius: 3px;\n}\n\npre.prettyprint > code {\n  margin: 0;\n}\n\np > code,\nli > code {\n  padding: 0.2em 0.5em;\n  margin: 0;\n  font-size: 85%;\n  background-color: rgba(0,0,0,0.04);\n  border-radius: 3px;\n}\n\n.code {\n  font-family: \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\n  font-size: 13px;\n}\n\n.import-path pre.prettyprint,\n.import-path pre.prettyprint code {\n  margin: 0;\n  padding: 0;\n  border: none;\n  background: white;\n}\n\n.layout-container {\n  /*display: flex;*/\n  /*flex-direction: row;*/\n  /*justify-content: flex-start;*/\n  /*align-items: stretch;*/\n}\n\n.layout-container > header {\n  display: flex;\n  height: 40px;\n  line-height: 40px;\n  font-size: 16px;\n  padding: 0 10px;\n  margin: 0;\n  position: fixed;\n  width: 100%;\n  z-index: 1;\n  background-color: #fafafa;\n  top: 0;\n  border-bottom: solid 1px #ddd;\n}\n.layout-container > header > a{\n  margin: 0 5px;\n  color: #444;\n}\n\n.layout-container > header > a.repo-url-github {\n  font-size: 0;\n  display: inline-block;\n  width: 20px;\n  height: 38px;\n  background: url(\"../image/github.png\") no-repeat center;\n  background-size: 20px;\n  vertical-align: top;\n}\n\n.navigation {\n  position: fixed;\n  top: 0;\n  left: 0;\n  box-sizing: border-box;\n  width: 250px;\n  height: 100%;\n  padding-top: 40px;\n  padding-left: 15px;\n  padding-bottom: 2em;\n  margin-top:1em;\n  overflow-x: scroll;\n  box-shadow: rgba(255, 255, 255, 1) -1px 0 0 inset;\n  border-right: 1px solid #ddd;\n}\n\n.navigation ul {\n  padding: 0;\n}\n\n.navigation li {\n  list-style: none;\n  margin: 4px 0;\n  white-space: nowrap;\n}\n\n.navigation li a {\n  color: #666;\n}\n\n.navigation .nav-dir-path {\n  display: block;\n  margin-top: 0.7em;\n  margin-bottom: 0.25em;\n  font-weight: 600;\n}\n\n.kind-class,\n.kind-interface,\n.kind-function,\n.kind-typedef,\n.kind-variable,\n.kind-external {\n  margin-left: 0.75em;\n  width: 1.2em;\n  height: 1.2em;\n  display: inline-block;\n  text-align: center;\n  border-radius: 0.2em;\n  margin-right: 0.2em;\n  font-weight: bold;\n  line-height: 1.2em;\n}\n\n.kind-class {\n  color: #009800;\n  background-color: #bfe5bf;\n}\n\n.kind-interface {\n  color: #fbca04;\n  background-color: #fef2c0;\n}\n\n.kind-function {\n  color: #6b0090;\n  background-color: #d6bdde;\n}\n\n.kind-variable {\n  color: #eb6420;\n  background-color: #fad8c7;\n}\n\n.kind-typedef {\n  color: #db001e;\n  background-color: #edbec3;\n}\n\n.kind-external {\n  color: #0738c3;\n  background-color: #bbcbea;\n}\n\n.summary span[class^=\"kind-\"] {\n  margin-left: 0;\n}\n\nh1 .version,\nh1 .url a {\n  font-size: 14px;\n  color: #aaa;\n}\n\n.content {\n  margin-top: 40px;\n  margin-left: 250px;\n  padding: 10px 50px 10px 20px;\n}\n\n.header-notice {\n  font-size: 14px;\n  color: #aaa;\n  margin: 0;\n}\n\n.expression-extends .prettyprint {\n  margin-left: 10px;\n  background: white;\n}\n\n.extends-chain {\n  border-bottom: 1px solid#ddd;\n  padding-bottom: 10px;\n  margin-bottom: 10px;\n}\n\n.extends-chain span:nth-of-type(1) {\n  padding-left: 10px;\n}\n\n.extends-chain > div {\n  margin: 5px 0;\n}\n\n.description table {\n  font-size: 14px;\n  border-spacing: 0;\n  border: 0;\n  border-collapse: collapse;\n}\n\n.description thead {\n  background: #999;\n  color: white;\n}\n\n.description table td,\n.description table th {\n  border: solid 1px #ddd;\n  padding: 4px;\n  font-weight: normal;\n}\n\n.flat-list ul {\n  padding-left: 0;\n}\n\n.flat-list li {\n  display: inline;\n  list-style: none;\n}\n\ntable.summary {\n  width: 100%;\n  margin: 10px 0;\n  border-spacing: 0;\n  border: 0;\n  border-collapse: collapse;\n}\n\ntable.summary thead {\n  background: #fafafa;\n}\n\ntable.summary td {\n  border: solid 1px #ddd;\n  padding: 4px 10px;\n}\n\ntable.summary tbody td:nth-child(1) {\n  text-align: right;\n  white-space: nowrap;\n  min-width: 64px;\n  vertical-align: top;\n}\n\ntable.summary tbody td:nth-child(2) {\n  width: 100%;\n  border-right: none;\n}\n\ntable.summary tbody td:nth-child(3) {\n  white-space: nowrap;\n  border-left: none;\n  vertical-align: top;\n}\n\ntable.summary td > div:nth-of-type(2) {\n  padding-top: 4px;\n  padding-left: 15px;\n}\n\ntable.summary td p {\n  margin-bottom: 0;\n}\n\n.inherited-summary thead td {\n  padding-left: 2px;\n}\n\n.inherited-summary thead a {\n  color: white;\n}\n\n.inherited-summary .summary tbody {\n  display: none;\n}\n\n.inherited-summary .summary .toggle {\n  padding: 0 4px;\n  font-size: 12px;\n  cursor: pointer;\n}\n.inherited-summary .summary .toggle.closed:before {\n  content: \"▶\";\n}\n.inherited-summary .summary .toggle.opened:before {\n  content: \"▼\";\n}\n\n.member, .method {\n  margin-bottom: 24px;\n}\n\ntable.params {\n  width: 100%;\n  margin: 10px 0;\n  border-spacing: 0;\n  border: 0;\n  border-collapse: collapse;\n}\n\ntable.params thead {\n  background: #eee;\n  color: #aaa;\n}\n\ntable.params td {\n  padding: 4px;\n  border: solid 1px #ddd;\n}\n\ntable.params td p {\n  margin: 0;\n}\n\n.content .detail > * {\n  margin: 15px 0;\n}\n\n.content .detail > h3 {\n  color: black;\n  background-color: #f0f0f0;\n}\n\n.content .detail > div {\n  margin-left: 10px;\n}\n\n.content .detail > .import-path {\n  margin-top: -8px;\n}\n\n.content .detail + .detail {\n  margin-top: 30px;\n}\n\n.content .detail .throw td:first-child {\n  padding-right: 10px;\n}\n\n.content .detail h4 + :not(pre) {\n  padding-left: 0;\n  margin-left: 10px;\n}\n\n.content .detail h4 + ul li {\n  list-style: none;\n}\n\n.return-param * {\n  display: inline;\n}\n\n.argument-params {\n  margin-bottom: 20px;\n}\n\n.return-type {\n  padding-right: 10px;\n  font-weight: normal;\n}\n\n.return-desc {\n  margin-left: 10px;\n  margin-top: 4px;\n}\n\n.return-desc p {\n  margin: 0;\n}\n\n.deprecated, .experimental, .instance-docs {\n  border-left: solid 5px orange;\n  padding-left: 4px;\n  margin: 4px 0;\n}\n\ntr.listen p,\ntr.throw p,\ntr.emit p{\n  margin-bottom: 10px;\n}\n\n.version, .since {\n  color: #aaa;\n}\n\nh3 .right-info {\n  position: absolute;\n  right: 4px;\n  font-size: 14px;\n}\n\n.version + .since:before {\n  content: '| ';\n}\n\n.see {\n  margin-top: 10px;\n}\n\n.see h4 {\n  margin: 4px 0;\n}\n\n.content .detail h4 + .example-doc {\n  margin: 6px 0;\n}\n\n.example-caption {\n  position: relative;\n  bottom: -1px;\n  display: inline-block;\n  padding: 4px;\n  font-style: italic;\n  background-color: #f5f5f5;\n  font-weight: bold;\n  border-radius: 3px;\n  border-bottom-left-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.example-caption + pre.source-code {\n  margin-top: 0;\n  border-top-left-radius: 0;\n}\n\nfooter, .file-footer {\n  text-align: right;\n  font-style: italic;\n  font-weight: 100;\n  font-size: 13px;\n  margin-right: 50px;\n  margin-left: 270px;\n  border-top: 1px solid #ddd;\n  padding-top: 30px;\n  margin-top: 20px;\n  padding-bottom: 10px;\n}\n\nfooter img {\n  width: 24px;\n  vertical-align: middle;\n  padding-left: 4px;\n  position: relative;\n  top: -3px;\n  opacity: 0.6;\n}\n\npre.source-code {\n  padding: 4px;\n}\n\npre.raw-source-code > code {\n  padding: 0;\n  margin: 0;\n  font-size: 12px;\n  background: #fff;\n  border: solid 1px #ddd;\n  line-height: 1.5;\n}\n\npre.raw-source-code > code > ol {\n  counter-reset:number;\n  list-style:none;\n  margin:0;\n  padding:0;\n  overflow: hidden;\n}\n\npre.raw-source-code > code > ol li:before {\n  counter-increment: number;\n  content: counter(number);\n  display: inline-block;\n  min-width: 3em;\n  color: #aaa;\n  text-align: right;\n  padding-right: 1em;\n}\n\npre.source-code.line-number {\n  padding: 0;\n}\n\npre.source-code ol {\n  background: #eee;\n  padding-left: 40px;\n}\n\npre.source-code li {\n  background: white;\n  padding-left: 4px;\n  list-style: decimal;\n  margin: 0;\n}\n\npre.source-code.line-number li.active {\n  background: rgb(255, 255, 150) !important;\n}\n\npre.source-code.line-number li.error-line {\n  background: #ffb8bf;\n}\n\n.inner-link-active {\n  /*background: rgb(255, 255, 150) !important;*/\n  background: #039BE5 !important;\n  color: #fff !important;\n  padding-left: 0.1em !important;\n}\n\n.inner-link-active a {\n  color: inherit;\n}\n"
  },
  {
    "path": "docs/css/test.css",
    "content": "table.test-summary thead {\n  background: #fafafa;\n}\n\ntable.test-summary thead .test-description {\n  width: 50%;\n}\n\ntable.test-summary {\n  width: 100%;\n  margin: 10px 0;\n  border-spacing: 0;\n  border: 0;\n  border-collapse: collapse;\n}\n\ntable.test-summary thead .test-count {\n  width: 3em;\n}\n\ntable.test-summary tbody tr:hover {\n  background-color: #eee;\n}\n\ntable.test-summary td {\n  border: solid 1px #ddd;\n  padding: 4px 10px;\n  vertical-align: top;\n}\n\ntable.test-summary td p {\n  margin: 0;\n}\n\ntable.test-summary tr.test-interface .toggle {\n  display: inline-block;\n  float: left;\n  margin-right: 4px;\n  cursor: pointer;\n  font-size: 0.8em;\n  padding-top: 0.25em;\n}\n\ntable.test-summary tr.test-interface .toggle.opened:before {\n  content: '▼';\n}\n\ntable.test-summary tr.test-interface .toggle.closed:before {\n  content: '▶';\n}\n\ntable.test-summary .test-target > span {\n  display: block;\n  margin-top: 4px;\n}\ntable.test-summary .test-target > span:first-child {\n  margin-top: 0;\n}\n"
  },
  {
    "path": "docs/demo/index.html",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"UTF-8\">\n    <title>Collisions - Collision detection for circles, polygons, and points</title>\n  </head>\n  <body>\n  <script type=\"text/javascript\" src=\"index.js\"></script></body>\n</html>"
  },
  {
    "path": "docs/demo/index.js",
    "content": "/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 5);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Collisions; });\n/* unused harmony export Collisions */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__modules_BVH_mjs__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__modules_Circle_mjs__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__modules_Polygon_mjs__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__modules_Point_mjs__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__modules_Result_mjs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__modules_SAT_mjs__ = __webpack_require__(3);\n/* unused harmony reexport Result */\n/* unused harmony reexport Circle */\n/* unused harmony reexport Polygon */\n/* unused harmony reexport Point */\n\n\n\n\n\n\n\n/**\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n */\nclass Collisions {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh = new __WEBPACK_IMPORTED_MODULE_0__modules_BVH_mjs__[\"a\" /* default */]();\n\t}\n\n\t/**\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t */\n\tcreateCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tconst body = new __WEBPACK_IMPORTED_MODULE_1__modules_Circle_mjs__[\"a\" /* default */](x, y, radius, scale, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t */\n\tcreatePolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tconst body = new __WEBPACK_IMPORTED_MODULE_2__modules_Polygon_mjs__[\"a\" /* default */](x, y, points, angle, scale_x, scale_y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t */\n\tcreatePoint(x = 0, y = 0, padding = 0) {\n\t\tconst body = new __WEBPACK_IMPORTED_MODULE_3__modules_Point_mjs__[\"a\" /* default */](x, y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new __WEBPACK_IMPORTED_MODULE_4__modules_Result_mjs__[\"a\" /* default */]();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new __WEBPACK_IMPORTED_MODULE_4__modules_Result_mjs__[\"a\" /* default */]();\n\t}\n\n\t/**\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tinsert(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.insert(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tremove(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.remove(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t */\n\tupdate() {\n\t\tthis._bvh.update();\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\treturn this._bvh.draw(context);\n\t}\n\n\t/**\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\treturn this._bvh.drawBVH(context);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array<Body>}\n\t */\n\tpotentials(body) {\n\t\treturn this._bvh.potentials(body);\n\t}\n\n\t/**\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(source, target, result = null, aabb = true) {\n\t\treturn Object(__WEBPACK_IMPORTED_MODULE_5__modules_SAT_mjs__[\"a\" /* default */])(source, target, result, aabb);\n\t}\n};\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Result_mjs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SAT_mjs__ = __webpack_require__(3);\n\n\n\n/**\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n */\nclass Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\t/**\n\t\t * @desc The X coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.x = x;\n\n\t\t/**\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.y = y;\n\n\t\t/**\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t */\n\t\tthis.padding = padding;\n\n\t\t/** @private */\n\t\tthis._circle = false;\n\n\t\t/** @private */\n\t\tthis._polygon = false;\n\n\t\t/** @private */\n\t\tthis._point = false;\n\n\t\t/** @private */\n\t\tthis._bvh = null;\n\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = false;\n\n\t\t/** @private */\n\t\tthis._bvh_padding = padding;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(target, result = null, aabb = true) {\n\t\treturn Object(__WEBPACK_IMPORTED_MODULE_1__SAT_mjs__[\"a\" /* default */])(this, target, result, aabb);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions\n\t * @returns {Array<Body>}\n\t */\n\tpotentials() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh === null) {\n\t\t\tthrow new Error('Body does not belong to a collision system');\n\t\t}\n\n\t\treturn bvh.potentials(this);\n\t}\n\n\t/**\n\t * Removes the body from its current collision system\n\t */\n\tremove() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh) {\n\t\t\tbvh.remove(this, false);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new __WEBPACK_IMPORTED_MODULE_0__Result_mjs__[\"a\" /* default */]();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new __WEBPACK_IMPORTED_MODULE_0__Result_mjs__[\"a\" /* default */]();\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Body;\n;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * An object used to collect the detailed results of a collision test\n *\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n */\nclass Result {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/**\n\t\t * @desc True if a collision was detected\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.collision = false;\n\n\t\t/**\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.a = null;\n\n\t\t/**\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.b = null;\n\n\t\t/**\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.a_in_b = false;\n\n\t\t/**\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.a_in_b = false;\n\n\t\t/**\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap = 0;\n\n\t\t/**\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_x = 0;\n\n\t\t/**\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_y = 0;\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Result;\n;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SAT;\n/**\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n */\nfunction SAT(a, b, result = null, aabb = true) {\n\tconst a_polygon = a._polygon;\n\tconst b_polygon = b._polygon;\n\n\tlet collision = false;\n\n\tif(result) {\n\t\tresult.a         = a;\n\t\tresult.b         = b;\n\t\tresult.a_in_b    = true;\n\t\tresult.b_in_a    = true;\n\t\tresult.overlap   = null;\n\t\tresult.overlap_x = 0;\n\t\tresult.overlap_y = 0;\n\t}\n\n\tif(a_polygon) {\n\t\tif(\n\t\t\ta._dirty_coords ||\n\t\t\ta.x       !== a._x ||\n\t\t\ta.y       !== a._y ||\n\t\t\ta.angle   !== a._angle ||\n\t\t\ta.scale_x !== a._scale_x ||\n\t\t\ta.scale_y !== a._scale_y\n\t\t) {\n\t\t\ta._calculateCoords();\n\t\t}\n\t}\n\n\tif(b_polygon) {\n\t\tif(\n\t\t\tb._dirty_coords ||\n\t\t\tb.x       !== b._x ||\n\t\t\tb.y       !== b._y ||\n\t\t\tb.angle   !== b._angle ||\n\t\t\tb.scale_x !== b._scale_x ||\n\t\t\tb.scale_y !== b._scale_y\n\t\t) {\n\t\t\tb._calculateCoords();\n\t\t}\n\t}\n\n\tif(!aabb || aabbAABB(a, b)) {\n\t\tif(a_polygon && a._dirty_normals) {\n\t\t\ta._calculateNormals();\n\t\t}\n\n\t\tif(b_polygon && b._dirty_normals) {\n\t\t\tb._calculateNormals();\n\t\t}\n\n\t\tcollision = (\n\t\t\ta_polygon && b_polygon ? polygonPolygon(a, b, result) :\n\t\t\ta_polygon ? polygonCircle(a, b, result, false) :\n\t\t\tb_polygon ? polygonCircle(b, a, result, true) :\n\t\t\tcircleCircle(a, b, result)\n\t\t);\n\t}\n\n\tif(result) {\n\t\tresult.collision = collision;\n\t}\n\n\treturn collision;\n};\n\n/**\n * Determines if two bodies' axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n */\nfunction aabbAABB(a, b) {\n\tconst a_polygon = a._polygon;\n\tconst a_x       = a_polygon ? 0 : a.x;\n\tconst a_y       = a_polygon ? 0 : a.y;\n\tconst a_radius  = a_polygon ? 0 : a.radius * a.scale;\n\tconst a_min_x   = a_polygon ? a._min_x : a_x - a_radius;\n\tconst a_min_y   = a_polygon ? a._min_y : a_y - a_radius;\n\tconst a_max_x   = a_polygon ? a._max_x : a_x + a_radius;\n\tconst a_max_y   = a_polygon ? a._max_y : a_y + a_radius;\n\n\tconst b_polygon = b._polygon;\n\tconst b_x       = b_polygon ? 0 : b.x;\n\tconst b_y       = b_polygon ? 0 : b.y;\n\tconst b_radius  = b_polygon ? 0 : b.radius * b.scale;\n\tconst b_min_x   = b_polygon ? b._min_x : b_x - b_radius;\n\tconst b_min_y   = b_polygon ? b._min_y : b_y - b_radius;\n\tconst b_max_x   = b_polygon ? b._max_x : b_x + b_radius;\n\tconst b_max_y   = b_polygon ? b._max_y : b_y + b_radius;\n\n\treturn a_min_x < b_max_x && a_min_y < b_max_y && a_max_x > b_min_x && a_max_y > b_min_y;\n}\n\n/**\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction polygonPolygon(a, b, result = null) {\n\tconst a_count = a._coords.length;\n\tconst b_count = b._coords.length;\n\n\t// Handle points specially\n\tif(a_count === 2 && b_count === 2) {\n\t\tconst a_coords = a._coords;\n\t\tconst b_coords = b._coords;\n\n\t\tif(result) {\n\t\t\tresult.overlap = 0;\n\t\t}\n\n\t\treturn a_coords[0] === b_coords[0] && a_coords[1] === b_coords[1];\n\t}\n\n\tconst a_coords  = a._coords;\n\tconst b_coords  = b._coords;\n\tconst a_normals = a._normals;\n\tconst b_normals = b._normals;\n\n\tif(a_count > 2) {\n\t\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(b_count > 2) {\n\t\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\n * @returns {Boolean}\n */\nfunction polygonCircle(a, b, result = null, reverse = false) {\n\tconst a_coords       = a._coords;\n\tconst a_edges        = a._edges;\n\tconst a_normals      = a._normals;\n\tconst b_x            = b.x;\n\tconst b_y            = b.y;\n\tconst b_radius       = b.radius * b.scale;\n\tconst b_radius2      = b_radius * 2;\n\tconst radius_squared = b_radius * b_radius;\n\tconst count          = a_coords.length;\n\n\tlet a_in_b    = true;\n\tlet b_in_a    = true;\n\tlet overlap   = null;\n\tlet overlap_x = 0;\n\tlet overlap_y = 0;\n\n\t// Handle points specially\n\tif(count === 2) {\n\t\tconst coord_x        = b_x - a_coords[0];\n\t\tconst coord_y        = b_y - a_coords[1];\n\t\tconst length_squared = coord_x * coord_x + coord_y * coord_y;\n\n\t\tif(length_squared > radius_squared) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif(result) {\n\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\toverlap   = b_radius - length;\n\t\t\toverlap_x = coord_x / length;\n\t\t\toverlap_y = coord_y / length;\n\t\t\tb_in_a    = false;\n\t\t}\n\t}\n\telse {\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tconst coord_x = b_x - a_coords[ix];\n\t\t\tconst coord_y = b_y - a_coords[iy];\n\t\t\tconst edge_x  = a_edges[ix];\n\t\t\tconst edge_y  = a_edges[iy];\n\t\t\tconst dot     = coord_x * edge_x + coord_y * edge_y;\n\t\t\tconst region  = dot < 0 ? -1 : dot > edge_x * edge_x + edge_y * edge_y ? 1 : 0;\n\n\t\t\tlet tmp_overlapping = false;\n\t\t\tlet tmp_overlap     = 0;\n\t\t\tlet tmp_overlap_x   = 0;\n\t\t\tlet tmp_overlap_y   = 0;\n\n\t\t\tif(result && a_in_b && coord_x * coord_x + coord_y * coord_y > radius_squared) {\n\t\t\t\ta_in_b = false;\n\t\t\t}\n\n\t\t\tif(region) {\n\t\t\t\tconst left     = region === -1;\n\t\t\t\tconst other_x  = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2);\n\t\t\t\tconst other_y  = other_x + 1;\n\t\t\t\tconst coord2_x = b_x - a_coords[other_x];\n\t\t\t\tconst coord2_y = b_y - a_coords[other_y];\n\t\t\t\tconst edge2_x  = a_edges[other_x];\n\t\t\t\tconst edge2_y  = a_edges[other_y];\n\t\t\t\tconst dot2     = coord2_x * edge2_x + coord2_y * edge2_y;\n\t\t\t\tconst region2  = dot2 < 0 ? -1 : dot2 > edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0;\n\n\t\t\t\tif(region2 === -region) {\n\t\t\t\t\tconst target_x       = left ? coord_x : coord2_x;\n\t\t\t\t\tconst target_y       = left ? coord_y : coord2_y;\n\t\t\t\t\tconst length_squared = target_x * target_x + target_y * target_y;\n\n\t\t\t\t\tif(length_squared > radius_squared) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(result) {\n\t\t\t\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\t\ttmp_overlap     = b_radius - length;\n\t\t\t\t\t\ttmp_overlap_x   = target_x / length;\n\t\t\t\t\t\ttmp_overlap_y   = target_y / length;\n\t\t\t\t\t\tb_in_a          = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst normal_x        = a_normals[ix];\n\t\t\t\tconst normal_y        = a_normals[iy];\n\t\t\t\tconst length          = coord_x * normal_x + coord_y * normal_y;\n\t\t\t\tconst absolute_length = length < 0 ? -length : length;\n\n\t\t\t\tif(length > 0 && absolute_length > b_radius) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif(result) {\n\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\ttmp_overlap     = b_radius - length;\n\t\t\t\t\ttmp_overlap_x   = normal_x;\n\t\t\t\t\ttmp_overlap_y   = normal_y;\n\n\t\t\t\t\tif(b_in_a && length >= 0 || tmp_overlap < b_radius2) {\n\t\t\t\t\t\tb_in_a = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(tmp_overlapping && (overlap === null || overlap > tmp_overlap)) {\n\t\t\t\toverlap   = tmp_overlap;\n\t\t\t\toverlap_x = tmp_overlap_x;\n\t\t\t\toverlap_y = tmp_overlap_y;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(result) {\n\t\tresult.a_in_b    = reverse ? b_in_a : a_in_b;\n\t\tresult.b_in_a    = reverse ? a_in_b : b_in_a;\n\t\tresult.overlap   = overlap;\n\t\tresult.overlap_x = reverse ? -overlap_x : overlap_x;\n\t\tresult.overlap_y = reverse ? -overlap_y : overlap_y;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction circleCircle(a, b, result = null) {\n\tconst a_radius       = a.radius * a.scale;\n\tconst b_radius       = b.radius * b.scale;\n\tconst difference_x   = b.x - a.x;\n\tconst difference_y   = b.y - a.y;\n\tconst radius_sum     = a_radius + b_radius;\n\tconst length_squared = difference_x * difference_x + difference_y * difference_y;\n\n\tif(length_squared > radius_sum * radius_sum) {\n\t\treturn false;\n\t}\n\n\tif(result) {\n\t\tconst length = Math.sqrt(length_squared);\n\n\t\tresult.a_in_b    = a_radius <= b_radius && length <= b_radius - a_radius;\n\t\tresult.b_in_a    = b_radius <= a_radius && length <= a_radius - b_radius;\n\t\tresult.overlap   = radius_sum - length;\n\t\tresult.overlap_x = difference_x / length;\n\t\tresult.overlap_y = difference_y / length;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two polygons are separated by an axis\n * @param {Array<Number[]>} a_coords The coordinates of the polygon to test\n * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction separatingAxis(a_coords, b_coords, x, y, result = null) {\n\tconst a_count = a_coords.length;\n\tconst b_count = b_coords.length;\n\n\tif(!a_count || !b_count) {\n\t\treturn true;\n\t}\n\n\tlet a_start = null;\n\tlet a_end   = null;\n\tlet b_start = null;\n\tlet b_end   = null;\n\n\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\n\t\tconst dot = a_coords[ix] * x + a_coords[iy] * y;\n\n\t\tif(a_start === null || a_start > dot) {\n\t\t\ta_start = dot;\n\t\t}\n\n\t\tif(a_end === null || a_end < dot) {\n\t\t\ta_end = dot;\n\t\t}\n\t}\n\n\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\n\t\tconst dot = b_coords[ix] * x + b_coords[iy] * y;\n\n\t\tif(b_start === null || b_start > dot) {\n\t\t\tb_start = dot;\n\t\t}\n\n\t\tif(b_end === null || b_end < dot) {\n\t\t\tb_end = dot;\n\t\t}\n\t}\n\n\tif(a_start > b_end || a_end < b_start) {\n\t\treturn true;\n\t}\n\n\tif(result) {\n\t\tlet overlap = 0;\n\n\t\tif(a_start < b_start) {\n\t\t\tresult.a_in_b = false;\n\n\t\t\tif(a_end < b_end) {\n\t\t\t\toverlap       = a_end - b_start;\n\t\t\t\tresult.b_in_a = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 < option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tresult.b_in_a = false;\n\n\t\t\tif(a_end > b_end) {\n\t\t\t\toverlap       = a_start - b_end;\n\t\t\t\tresult.a_in_b = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 < option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\n\t\tconst current_overlap  = result.overlap;\n\t\tconst absolute_overlap = overlap < 0 ? -overlap : overlap;\n\n\t\tif(current_overlap === null || current_overlap > absolute_overlap) {\n\t\t\tconst sign = overlap < 0 ? -1 : 1;\n\n\t\t\tresult.overlap   = absolute_overlap;\n\t\t\tresult.overlap_x = x * sign;\n\t\t\tresult.overlap_y = y * sign;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Body_mjs__ = __webpack_require__(1);\n\n\n/**\n * A polygon used to detect collisions\n * @class\n */\nclass Polygon extends __WEBPACK_IMPORTED_MODULE_0__Body_mjs__[\"a\" /* default */] {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t */\n\t\tthis.angle = angle;\n\n\t\t/**\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_x = scale_x;\n\n\t\t/**\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_y = scale_y;\n\n\n\t\t/** @private */\n\t\tthis._polygon = true;\n\n\t\t/** @private */\n\t\tthis._x = x;\n\n\t\t/** @private */\n\t\tthis._y = y;\n\n\t\t/** @private */\n\t\tthis._angle = angle;\n\n\t\t/** @private */\n\t\tthis._scale_x = scale_x;\n\n\t\t/** @private */\n\t\tthis._scale_y = scale_y;\n\n\t\t/** @private */\n\t\tthis._min_x = 0;\n\n\t\t/** @private */\n\t\tthis._min_y = 0;\n\n\t\t/** @private */\n\t\tthis._max_x = 0;\n\n\t\t/** @private */\n\t\tthis._max_y = 0;\n\n\t\t/** @private */\n\t\tthis._points = null;\n\n\t\t/** @private */\n\t\tthis._coords = null;\n\n\t\t/** @private */\n\t\tthis._edges = null;\n\n\t\t/** @private */\n\t\tthis._normals = null;\n\n\t\t/** @private */\n\t\tthis._dirty_coords = true;\n\n\t\t/** @private */\n\t\tthis._dirty_normals = true;\n\n\t\tPolygon.prototype.setPoints.call(this, points);\n\t}\n\n\t/**\n\t * Draws the polygon to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t */\n\tdraw(context) {\n\t\tif(\n\t\t\tthis._dirty_coords ||\n\t\t\tthis.x       !== this._x ||\n\t\t\tthis.y       !== this._y ||\n\t\t\tthis.angle   !== this._angle ||\n\t\t\tthis.scale_x !== this._scale_x ||\n\t\t\tthis.scale_y !== this._scale_y\n\t\t) {\n\t\t\tthis._calculateCoords();\n\t\t}\n\n\t\tconst coords = this._coords;\n\n\t\tif(coords.length === 2) {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\t\t\tcontext.arc(coords[0], coords[1], 1, 0, Math.PI * 2);\n\t\t}\n\t\telse {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\n\t\t\tfor(let i = 2; i < coords.length; i += 2) {\n\t\t\t\tcontext.lineTo(coords[i], coords[i + 1]);\n\t\t\t}\n\n\t\t\tif(coords.length > 4) {\n\t\t\t\tcontext.lineTo(coords[0], coords[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\n\t * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t */\n\tsetPoints(new_points) {\n\t\tconst count = new_points.length;\n\n\t\tthis._points  = new Float64Array(count * 2);\n\t\tthis._coords  = new Float64Array(count * 2);\n\t\tthis._edges   = new Float64Array(count * 2);\n\t\tthis._normals = new Float64Array(count * 2);\n\n\t\tconst points = this._points;\n\n\t\tfor(let i = 0, ix = 0, iy = 1; i < count; ++i, ix += 2, iy += 2) {\n\t\t\tconst new_point = new_points[i];\n\n\t\t\tpoints[ix] = new_point[0];\n\t\t\tpoints[iy] = new_point[1];\n\t\t}\n\n\t\tthis._dirty_coords = true;\n\t}\n\n\t/**\n\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\n\t */\n\t_calculateCoords() {\n\t\tconst x       = this.x;\n\t\tconst y       = this.y;\n\t\tconst angle   = this.angle;\n\t\tconst scale_x = this.scale_x;\n\t\tconst scale_y = this.scale_y;\n\t\tconst points  = this._points;\n\t\tconst coords  = this._coords;\n\t\tconst count   = points.length;\n\n\t\tlet min_x;\n\t\tlet max_x;\n\t\tlet min_y;\n\t\tlet max_y;\n\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tlet coord_x = points[ix] * scale_x;\n\t\t\tlet coord_y = points[iy] * scale_y;\n\n\t\t\tif(angle) {\n\t\t\t\tconst cos   = Math.cos(angle);\n\t\t\t\tconst sin   = Math.sin(angle);\n\t\t\t\tconst tmp_x = coord_x;\n\t\t\t\tconst tmp_y = coord_y;\n\n\t\t\t\tcoord_x = tmp_x * cos - tmp_y * sin;\n\t\t\t\tcoord_y = tmp_x * sin + tmp_y * cos;\n\t\t\t}\n\n\t\t\tcoord_x += x;\n\t\t\tcoord_y += y;\n\n\t\t\tcoords[ix] = coord_x;\n\t\t\tcoords[iy] = coord_y;\n\n\t\t\tif(ix === 0) {\n\t\t\t\tmin_x = max_x = coord_x;\n\t\t\t\tmin_y = max_y = coord_y;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(coord_x < min_x) {\n\t\t\t\t\tmin_x = coord_x;\n\t\t\t\t}\n\t\t\t\telse if(coord_x > max_x) {\n\t\t\t\t\tmax_x = coord_x;\n\t\t\t\t}\n\n\t\t\t\tif(coord_y < min_y) {\n\t\t\t\t\tmin_y = coord_y;\n\t\t\t\t}\n\t\t\t\telse if(coord_y > max_y) {\n\t\t\t\t\tmax_y = coord_y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._x             = x;\n\t\tthis._y             = y;\n\t\tthis._angle         = angle;\n\t\tthis._scale_x       = scale_x;\n\t\tthis._scale_y       = scale_y;\n\t\tthis._min_x         = min_x;\n\t\tthis._min_y         = min_y;\n\t\tthis._max_x         = max_x;\n\t\tthis._max_y         = max_y;\n\t\tthis._dirty_coords  = false;\n\t\tthis._dirty_normals = true;\n\t}\n\n\t/**\n\t * Calculates the normals and edges of the polygon's sides\n\t */\n\t_calculateNormals() {\n\t\tconst coords  = this._coords;\n\t\tconst edges   = this._edges;\n\t\tconst normals = this._normals;\n\t\tconst count   = coords.length;\n\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tconst next   = ix + 2 < count ? ix + 2 : 0;\n\t\t\tconst x      = coords[next] - coords[ix];\n\t\t\tconst y      = coords[next + 1] - coords[iy];\n\t\t\tconst length = x || y ? Math.sqrt(x * x + y * y) : 0;\n\n\t\t\tedges[ix]   = x;\n\t\t\tedges[iy]   = y;\n\t\t\tnormals[ix] = length ? y / length : 0;\n\t\t\tnormals[iy] = length ? -x / length : 0;\n\t\t}\n\n\t\tthis._dirty_normals = false;\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Polygon;\n;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__examples_Tank_mjs__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__examples_Stress_mjs__ = __webpack_require__(11);\n\n\n\nlet example;\n\nswitch(window.location.search) {\n\tcase '?stress':\n\t\texample = new __WEBPACK_IMPORTED_MODULE_1__examples_Stress_mjs__[\"a\" /* default */]();\n\t\tbreak;\n\n\tdefault:\n\t\texample = new __WEBPACK_IMPORTED_MODULE_0__examples_Tank_mjs__[\"a\" /* default */]();\n\t\tbreak;\n}\n\ndocument.body.appendChild(example.element);\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__ = __webpack_require__(0);\n\n\nconst width  = 800;\nconst height = 600;\nconst result = __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__[\"a\" /* default */].createResult();\n\nclass Tank {\n\tconstructor() {\n\t\tconst collisions = new __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__[\"a\" /* default */]();\n\n\t\tthis.element    = document.createElement('div');\n\t\tthis.canvas     = document.createElement('canvas');\n\t\tthis.context    = this.canvas.getContext('2d');\n\t\tthis.collisions = collisions;\n\t\tthis.bodies     = [];\n\n\t\tthis.canvas.width  = width;\n\t\tthis.canvas.height = height;\n\t\tthis.player        = null;\n\n\t\tthis.up    = false;\n\t\tthis.down  = false;\n\t\tthis.left  = false;\n\t\tthis.right = false;\n\n\t\tthis.element.innerHTML = `\n\t\t\t<div><b>W, S</b> - Accelerate/Decelerate</div>\n\t\t\t<div><b>A, D</b> - Turn</div>\n\t\t\t<div><label><input id=\"bvh\" type=\"checkbox\"> Show Bounding Volume Hierarchy</label></div>\n\t\t`;\n\n\t\tconst updateKeys = (e) => {\n\t\t\tconst keydown = e.type === 'keydown';\n\t\t\tconst key     = e.key.toLowerCase();\n\n\t\t\tkey === 'w' && (this.up = keydown);\n\t\t\tkey === 's' && (this.down = keydown);\n\t\t\tkey === 'a' && (this.left = keydown);\n\t\t\tkey === 'd' && (this.right = keydown);\n\t\t};\n\n\t\tdocument.addEventListener('keydown', updateKeys);\n\t\tdocument.addEventListener('keyup', updateKeys);\n\n\t\tthis.bvh_checkbox = this.element.querySelector('#bvh');\n\t\tthis.element.appendChild(this.canvas);\n\n\t\tthis.createPlayer(400, 300);\n\t\tthis.createMap();\n\n\t\tconst frame = () => {\n\t\t\tthis.update();\n\t\t\trequestAnimationFrame(frame);\n\t\t};\n\n\t\tframe();\n\t}\n\n\tupdate() {\n\t\tthis.handleInput();\n\t\tthis.processGameLogic();\n\t\tthis.handleCollisions();\n\t\tthis.render();\n\t}\n\n\thandleInput() {\n\t\tthis.up    && (this.player.velocity += 0.1);\n\t\tthis.down  && (this.player.velocity -= 0.1);\n\t\tthis.left  && (this.player.angle -= 0.04);\n\t\tthis.right && (this.player.angle += 0.04);\n\t}\n\n\tprocessGameLogic() {\n\t\tconst x = Math.cos(this.player.angle);\n\t\tconst y = Math.sin(this.player.angle);\n\n\t\tif(this.player.velocity > 0) {\n\t\t\tthis.player.velocity -= 0.05;\n\n\t\t\tif(this.player.velocity > 3) {\n\t\t\t\tthis.player.velocity = 3;\n\t\t\t}\n\t\t}\n\t\telse if(this.player.velocity < 0) {\n\t\t\tthis.player.velocity += 0.05;\n\n\t\t\tif(this.player.velocity < -2) {\n\t\t\t\tthis.player.velocity = -2;\n\t\t\t}\n\t\t}\n\n\t\tif(!Math.round(this.player.velocity * 100)) {\n\t\t\tthis.player.velocity = 0;\n\t\t}\n\n\t\tif(this.player.velocity) {\n\t\t\tthis.player.x += x * this.player.velocity;\n\t\t\tthis.player.y += y * this.player.velocity;\n\t\t}\n\t}\n\n\thandleCollisions() {\n\t\tthis.collisions.update();\n\n\t\tconst potentials = this.player.potentials();\n\n\t\t// Negate any collisions\n\t\tfor(const body of potentials) {\n\t\t\tif(this.player.collides(body, result)) {\n\t\t\t\tthis.player.x -= result.overlap * result.overlap_x;\n\t\t\t\tthis.player.y -= result.overlap * result.overlap_y;\n\n\t\t\t\tthis.player.velocity *= 0.9\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tthis.context.fillStyle = '#000000';\n\t\tthis.context.fillRect(0, 0, 800, 600);\n\n\t\tthis.context.strokeStyle = '#FFFFFF';\n\t\tthis.context.beginPath();\n\t\tthis.collisions.draw(this.context);\n\t\tthis.context.stroke();\n\n\t\tif(this.bvh_checkbox.checked) {\n\t\t\tthis.context.strokeStyle = '#00FF00';\n\t\t\tthis.context.beginPath();\n\t\t\tthis.collisions.drawBVH(this.context);\n\t\t\tthis.context.stroke();\n\t\t}\n\t}\n\n\tcreatePlayer(x, y) {\n\t\tconst size = 15;\n\n\t\tthis.player = this.collisions.createPolygon(x, y, [\n\t\t\t[-20, -10],\n\t\t\t[20, -10],\n\t\t\t[20, 10],\n\t\t\t[-20, 10],\n\t\t], 0.2);\n\n\t\tthis.player.velocity = 0;\n\t}\n\n\tcreateMap() {\n\t\t// World bounds\n\t\tthis.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, 0], [width, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, height], [0, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[0, height], [0, 0]]);\n\n\t\t// Factory\n\t\tthis.collisions.createPolygon(100, 100, [[-50, -50], [50, -50], [50, 50], [-50, 50],], 0.4);\n\t\tthis.collisions.createPolygon(190, 105, [[-20, -20], [20, -20], [20, 20], [-20, 20],], 0.4);\n\t\tthis.collisions.createCircle(170, 140, 8);\n\t\tthis.collisions.createCircle(185, 155, 8);\n\t\tthis.collisions.createCircle(165, 165, 8);\n\t\tthis.collisions.createCircle(145, 165, 8);\n\n\t\t// Airstrip\n\t\tthis.collisions.createPolygon(230, 50, [[-150, -30], [150, -30], [150, 30], [-150, 30],], 0.4);\n\n\t\t// HQ\n\t\tthis.collisions.createPolygon(100, 500, [[-40, -50], [40, -50], [50, 50], [-50, 50],], 0.2);\n\t\tthis.collisions.createCircle(180, 490, 20);\n\t\tthis.collisions.createCircle(175, 540, 20);\n\n\t\t// Barracks\n\t\tthis.collisions.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\n\t\tthis.collisions.createPolygon(350, 494, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\n\n\t\t// Mountains\n\t\tthis.collisions.createPolygon(750, 0, [[0, 0], [-20, 100]]);\n\t\tthis.collisions.createPolygon(750, 0, [[-20, 100], [30, 250]]);\n\t\tthis.collisions.createPolygon(750, 0, [[30, 250], [20, 300]]);\n\t\tthis.collisions.createPolygon(750, 0, [[20, 300], [-50, 320]]);\n\t\tthis.collisions.createPolygon(750, 0, [[-50, 320], [-90, 500]]);\n\t\tthis.collisions.createPolygon(750, 0, [[-90, 500], [-200, 600]]);\n\n\t\t// Lake\n\t\tthis.collisions.createPolygon(550, 100, [\n\t\t\t[-60, -20],\n\t\t\t[-20, -40],\n\t\t\t[30, -30],\n\t\t\t[60, 20],\n\t\t\t[40, 70],\n\t\t\t[10, 100],\n\t\t\t[-30, 110],\n\t\t\t[-80, 90],\n\t\t\t[-110, 50],\n\t\t\t[-100, 20],\n\t\t]);\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Tank;\n\n\nfunction random(min, max) {\n\treturn Math.floor(Math.random() * max) + min;\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BVHBranch_mjs__ = __webpack_require__(8);\n\n\n/**\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n */\nclass BVH {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._hierarchy = null;\n\n\t\t/** @private */\n\t\tthis._bodies = [];\n\n\t\t/** @private */\n\t\tthis._dirty_branches = [];\n\t}\n\n\t/**\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\n\t */\n\tinsert(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh && bvh !== this) {\n\t\t\t\tthrow new Error('Body belongs to another collision system');\n\t\t\t}\n\n\t\t\tbody._bvh = this;\n\t\t\tthis._bodies.push(body);\n\t\t}\n\n\t\tconst polygon = body._polygon;\n\t\tconst body_x  = body.x;\n\t\tconst body_y  = body.y;\n\n\t\tif(polygon) {\n\t\t\tif(\n\t\t\t\tbody._dirty_coords ||\n\t\t\t\tbody.x       !== body._x ||\n\t\t\t\tbody.y       !== body._y ||\n\t\t\t\tbody.angle   !== body._angle ||\n\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t) {\n\t\t\t\tbody._calculateCoords();\n\t\t\t}\n\t\t}\n\n\t\tconst padding    = body._bvh_padding;\n\t\tconst radius     = polygon ? 0 : body.radius * body.scale;\n\t\tconst body_min_x = (polygon ? body._min_x : body_x - radius) - padding;\n\t\tconst body_min_y = (polygon ? body._min_y : body_y - radius) - padding;\n\t\tconst body_max_x = (polygon ? body._max_x : body_x + radius) + padding;\n\t\tconst body_max_y = (polygon ? body._max_y : body_y + radius) + padding;\n\n\t\tbody._bvh_min_x = body_min_x;\n\t\tbody._bvh_min_y = body_min_y;\n\t\tbody._bvh_max_x = body_max_x;\n\t\tbody._bvh_max_y = body_max_y;\n\n\t\tlet current = this._hierarchy;\n\t\tlet sort    = 0;\n\n\t\tif(!current) {\n\t\t\tthis._hierarchy = body;\n\t\t}\n\t\telse {\n\t\t\twhile(true) {\n\t\t\t\t// Branch\n\t\t\t\tif(current._bvh_branch) {\n\t\t\t\t\tconst left            = current._bvh_left;\n\t\t\t\t\tconst left_min_y      = left._bvh_min_y;\n\t\t\t\t\tconst left_max_x      = left._bvh_max_x;\n\t\t\t\t\tconst left_max_y      = left._bvh_max_y;\n\t\t\t\t\tconst left_new_min_x  = body_min_x < left._bvh_min_x ? body_min_x : left._bvh_min_x;\n\t\t\t\t\tconst left_new_min_y  = body_min_y < left_min_y ? body_min_y : left_min_y;\n\t\t\t\t\tconst left_new_max_x  = body_max_x > left_max_x ? body_max_x : left_max_x;\n\t\t\t\t\tconst left_new_max_y  = body_max_y > left_max_y ? body_max_y : left_max_y;\n\t\t\t\t\tconst left_volume     = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y);\n\t\t\t\t\tconst left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y);\n\t\t\t\t\tconst left_difference = left_new_volume - left_volume;\n\n\t\t\t\t\tconst right            = current._bvh_right;\n\t\t\t\t\tconst right_min_x      = right._bvh_min_x;\n\t\t\t\t\tconst right_min_y      = right._bvh_min_y;\n\t\t\t\t\tconst right_max_x      = right._bvh_max_x;\n\t\t\t\t\tconst right_max_y      = right._bvh_max_y;\n\t\t\t\t\tconst right_new_min_x  = body_min_x < right_min_x ? body_min_x : right_min_x;\n\t\t\t\t\tconst right_new_min_y  = body_min_y < right_min_y ? body_min_y : right_min_y;\n\t\t\t\t\tconst right_new_max_x  = body_max_x > right_max_x ? body_max_x : right_max_x;\n\t\t\t\t\tconst right_new_max_y  = body_max_y > right_max_y ? body_max_y : right_max_y;\n\t\t\t\t\tconst right_volume     = (right_max_x - right_min_x) * (right_max_y - right_min_y);\n\t\t\t\t\tconst right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y);\n\t\t\t\t\tconst right_difference = right_new_volume - right_volume;\n\n\t\t\t\t\tcurrent._bvh_sort  = sort++;\n\t\t\t\t\tcurrent._bvh_min_x = left_new_min_x < right_new_min_x ? left_new_min_x : right_new_min_x;\n\t\t\t\t\tcurrent._bvh_min_y = left_new_min_y < right_new_min_y ? left_new_min_y : right_new_min_y;\n\t\t\t\t\tcurrent._bvh_max_x = left_new_max_x > right_new_max_x ? left_new_max_x : right_new_max_x;\n\t\t\t\t\tcurrent._bvh_max_y = left_new_max_y > right_new_max_y ? left_new_max_y : right_new_max_y;\n\n\t\t\t\t\tcurrent = left_difference <= right_difference ? left : right;\n\t\t\t\t}\n\t\t\t\t// Leaf\n\t\t\t\telse {\n\t\t\t\t\tconst grandparent  = current._bvh_parent;\n\t\t\t\t\tconst parent_min_x = current._bvh_min_x;\n\t\t\t\t\tconst parent_min_y = current._bvh_min_y;\n\t\t\t\t\tconst parent_max_x = current._bvh_max_x;\n\t\t\t\t\tconst parent_max_y = current._bvh_max_y;\n\t\t\t\t\tconst new_parent   = current._bvh_parent = body._bvh_parent = __WEBPACK_IMPORTED_MODULE_0__BVHBranch_mjs__[\"a\" /* default */].getBranch();\n\n\t\t\t\t\tnew_parent._bvh_parent = grandparent;\n\t\t\t\t\tnew_parent._bvh_left   = current;\n\t\t\t\t\tnew_parent._bvh_right  = body;\n\t\t\t\t\tnew_parent._bvh_sort   = sort++;\n\t\t\t\t\tnew_parent._bvh_min_x  = body_min_x < parent_min_x ? body_min_x : parent_min_x;\n\t\t\t\t\tnew_parent._bvh_min_y  = body_min_y < parent_min_y ? body_min_y : parent_min_y;\n\t\t\t\t\tnew_parent._bvh_max_x  = body_max_x > parent_max_x ? body_max_x : parent_max_x;\n\t\t\t\t\tnew_parent._bvh_max_y  = body_max_y > parent_max_y ? body_max_y : parent_max_y;\n\n\t\t\t\t\tif(!grandparent) {\n\t\t\t\t\t\tthis._hierarchy = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse if(grandparent._bvh_left === current) {\n\t\t\t\t\t\tgrandparent._bvh_left = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tgrandparent._bvh_right = new_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\n\t */\n\tremove(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh && bvh !== this) {\n\t\t\t\tthrow new Error('Body belongs to another collision system');\n\t\t\t}\n\n\t\t\tbody._bvh = null;\n\t\t\tthis._bodies.splice(this._bodies.indexOf(body), 1);\n\t\t}\n\n\t\tif(this._hierarchy === body) {\n\t\t\tthis._hierarchy = null;\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst parent       = body._bvh_parent;\n\t\tconst grandparent  = parent._bvh_parent;\n\t\tconst parent_left  = parent._bvh_left;\n\t\tconst sibling      = parent_left === body ? parent._bvh_right : parent_left;\n\n\t\tsibling._bvh_parent = grandparent;\n\n\t\tif(sibling._bvh_branch) {\n\t\t\tsibling._bvh_sort = parent._bvh_sort;\n\t\t}\n\n\t\tif(grandparent) {\n\t\t\tif(grandparent._bvh_left === parent) {\n\t\t\t\tgrandparent._bvh_left = sibling;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tgrandparent._bvh_right = sibling;\n\t\t\t}\n\n\t\t\tlet branch = grandparent;\n\n\t\t\twhile(branch) {\n\t\t\t\tconst left       = branch._bvh_left;\n\t\t\t\tconst left_min_x = left._bvh_min_x;\n\t\t\t\tconst left_min_y = left._bvh_min_y;\n\t\t\t\tconst left_max_x = left._bvh_max_x;\n\t\t\t\tconst left_max_y = left._bvh_max_y;\n\n\t\t\t\tconst right       = branch._bvh_right;\n\t\t\t\tconst right_min_x = right._bvh_min_x;\n\t\t\t\tconst right_min_y = right._bvh_min_y;\n\t\t\t\tconst right_max_x = right._bvh_max_x;\n\t\t\t\tconst right_max_y = right._bvh_max_y;\n\n\t\t\t\tbranch._bvh_min_x = left_min_x < right_min_x ? left_min_x : right_min_x;\n\t\t\t\tbranch._bvh_min_y = left_min_y < right_min_y ? left_min_y : right_min_y;\n\t\t\t\tbranch._bvh_max_x = left_max_x > right_max_x ? left_max_x : right_max_x;\n\t\t\t\tbranch._bvh_max_y = left_max_y > right_max_y ? left_max_y : right_max_y;\n\n\t\t\t\tbranch = branch._bvh_parent;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._hierarchy = sibling;\n\t\t}\n\n\t\t__WEBPACK_IMPORTED_MODULE_0__BVHBranch_mjs__[\"a\" /* default */].releaseBranch(parent);\n\t}\n\n\t/**\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t */\n\tupdate() {\n\t\tconst bodies = this._bodies;\n\t\tconst count  = bodies.length;\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tconst body = bodies[i];\n\n\t\t\tlet update = false;\n\n\t\t\tif(!update && body.padding !== body._bvh_padding) {\n\t\t\t\tbody._bvh_padding = body.padding;\n\t\t\t\tupdate = true;\n\t\t\t}\n\n\t\t\tif(!update) {\n\t\t\t\tconst polygon = body._polygon;\n\n\t\t\t\tif(polygon) {\n\t\t\t\t\tif(\n\t\t\t\t\t\tbody._dirty_coords ||\n\t\t\t\t\t\tbody.x       !== body._x ||\n\t\t\t\t\t\tbody.y       !== body._y ||\n\t\t\t\t\t\tbody.angle   !== body._angle ||\n\t\t\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t\t\t) {\n\t\t\t\t\t\tbody._calculateCoords();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst x      = body.x;\n\t\t\t\tconst y      = body.y;\n\t\t\t\tconst radius = polygon ? 0 : body.radius * body.scale;\n\t\t\t\tconst min_x  = polygon ? body._min_x : x - radius;\n\t\t\t\tconst min_y  = polygon ? body._min_y : y - radius;\n\t\t\t\tconst max_x  = polygon ? body._max_x : x + radius;\n\t\t\t\tconst max_y  = polygon ? body._max_y : y + radius;\n\n\t\t\t\tupdate = min_x < body._bvh_min_x || min_y < body._bvh_min_y || max_x > body._bvh_max_x || max_y > body._bvh_max_y;\n\t\t\t}\n\n\t\t\tif(update) {\n\t\t\t\tthis.remove(body, true);\n\t\t\t\tthis.insert(body, true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array<Body>}\n\t */\n\tpotentials(body) {\n\t\tconst results = [];\n\t\tconst min_x   = body._bvh_min_x;\n\t\tconst min_y   = body._bvh_min_y;\n\t\tconst max_x   = body._bvh_max_x;\n\t\tconst max_y   = body._bvh_max_y;\n\n\t\tlet current       = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\tif(!current || !current._bvh_branch) {\n\t\t\treturn results;\n\t\t}\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(\n\t\t\t\t\tleft &&\n\t\t\t\t\tleft._bvh_max_x >= min_x &&\n\t\t\t\t\tleft._bvh_max_y >= min_y &&\n\t\t\t\t\tleft._bvh_min_x <= max_x &&\n\t\t\t\t\tleft._bvh_min_y <= max_y\n\t\t\t\t) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft    = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst right  = branch ? current._bvh_right : null;\n\n\t\t\tif(\n\t\t\t\tright &&\n\t\t\t\tright._bvh_max_x > min_x &&\n\t\t\t\tright._bvh_max_y > min_y &&\n\t\t\t\tright._bvh_min_x < max_x &&\n\t\t\t\tright._bvh_min_y < max_y\n\t\t\t) {\n\t\t\t\tcurrent       = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(!branch && current !== body) {\n\t\t\t\t\tresults.push(current);\n\t\t\t\t}\n\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent && parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent  = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn results;\n\t}\n\n\t/**\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\tconst bodies = this._bodies;\n\t\tconst count  = bodies.length;\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tbodies[i].draw(context);\n\t\t}\n\t}\n\n\t/**\n\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\tlet current       = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(left) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft    = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst min_x  = current._bvh_min_x;\n\t\t\tconst min_y  = current._bvh_min_y;\n\t\t\tconst max_x  = current._bvh_max_x;\n\t\t\tconst max_y  = current._bvh_max_y;\n\t\t\tconst right  = branch ? current._bvh_right : null;\n\n\t\t\tcontext.moveTo(min_x, min_y);\n\t\t\tcontext.lineTo(max_x, min_y);\n\t\t\tcontext.lineTo(max_x, max_y);\n\t\t\tcontext.lineTo(min_x, max_y);\n\t\t\tcontext.lineTo(min_x, min_y);\n\n\t\t\tif(right) {\n\t\t\t\tcurrent       = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent && parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent  = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = BVH;\n;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * @private\n */\nconst branch_pool = [];\n\n/**\n * A branch within a BVH\n * @class\n * @private\n */\nclass BVHBranch {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = true;\n\n\t\t/** @private */\n\t\tthis._bvh_left = null;\n\n\t\t/** @private */\n\t\tthis._bvh_right = null;\n\n\t\t/** @private */\n\t\tthis._bvh_sort = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t */\n\tstatic getBranch() {\n\t\tif(branch_pool.length) {\n\t\t\treturn branch_pool.pop();\n\t\t}\n\n\t\treturn new BVHBranch();\n\t}\n\n\t/**\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t */\n\tstatic releaseBranch(branch) {\n\t\tbranch_pool.push(branch);\n\t}\n\n\t/**\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t */\n\tstatic sortBranches(a, b) {\n\t\treturn a.sort > b.sort ? -1 : 1;\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = BVHBranch;\n;\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Body_mjs__ = __webpack_require__(1);\n\n\n/**\n * A circle used to detect collisions\n * @class\n */\nclass Circle extends __WEBPACK_IMPORTED_MODULE_0__Body_mjs__[\"a\" /* default */] {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.radius = radius;\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale = scale;\n\t}\n\n\t/**\n\t * Draws the circle to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t */\n\tdraw(context) {\n\t\tconst x      = this.x;\n\t\tconst y      = this.y;\n\t\tconst radius = this.radius * this.scale;\n\n\t\tcontext.moveTo(x + radius, y);\n\t\tcontext.arc(x, y, radius, 0, Math.PI * 2);\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Circle;\n;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Polygon_mjs__ = __webpack_require__(4);\n\n\n/**\n * A point used to detect collisions\n * @class\n */\nclass Point extends __WEBPACK_IMPORTED_MODULE_0__Polygon_mjs__[\"a\" /* default */] {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\tsuper(x, y, [[0, 0]], 0, 1, 1, padding);\n\n\t\t/** @private */\n\t\tthis._point = true;\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Point;\n;\n\nPoint.prototype.setPoints = undefined;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__ = __webpack_require__(0);\n\n\nconst result = __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__[\"a\" /* default */].createResult();\nconst width  = 800;\nconst height = 600;\nconst count  = 500\nconst speed  = 1;\nconst size   = 5;\n\nlet frame     = 0;\nlet fps_total = 0;\n\nclass Stress {\n\tconstructor() {\n\t\tthis.element    = document.createElement('div');\n\t\tthis.canvas     = document.createElement('canvas');\n\t\tthis.context    = this.canvas.getContext('2d');\n\t\tthis.collisions = new __WEBPACK_IMPORTED_MODULE_0__src_Collisions_mjs__[\"a\" /* default */]();\n\t\tthis.bodies     = [];\n\t\tthis.polygons   = 0;\n\t\tthis.circles    = 0;\n\n\t\tthis.canvas.width  = width;\n\t\tthis.canvas.height = height;\n\t\tthis.context.font  = '24px Arial';\n\n\t\t// World bounds\n\t\tthis.collisions.createPolygon(0, 0, [[0, 0], [width, 0]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, 0], [width, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[width, height], [0, height]]);\n\t\tthis.collisions.createPolygon(0, 0, [[0, height], [0, 0]]);\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tthis.createShape(!random(0, 49));\n\t\t}\n\n\t\tthis.element.innerHTML = `\n\t\t\t<div><b>Total:</b> ${count}</div>\n\t\t\t<div><b>Polygons:</b> ${this.polygons}</div>\n\t\t\t<div><b>Circles:</b> ${this.circles}</div>\n\t\t\t<div><label><input id=\"bvh\" type=\"checkbox\"> Show Bounding Volume Hierarchy</label></div>\n\t\t`;\n\n\t\tthis.bvh_checkbox = this.element.querySelector('#bvh');\n\t\tthis.element.appendChild(this.canvas);\n\n\t\tconst self = this;\n\n\t\tlet time = performance.now();\n\n\t\tthis.frame = requestAnimationFrame(function frame() {\n\t\t\tconst current_time = performance.now();\n\n\t\t\tself.update(1000 / (current_time - time));\n\t\t\tself.frame = requestAnimationFrame(frame);\n\n\t\t\ttime = current_time;\n\t\t});\n\t}\n\n\tupdate(fps) {\n\t\tthis.collisions.update();\n\n\t\t++frame;\n\t\tfps_total += fps;\n\n\t\tconst average_fps = Math.round(fps_total / frame);\n\n\t\tif(frame > 100) {\n\t\t\tframe     = 1;\n\t\t\tfps_total = average_fps;\n\t\t}\n\n\t\tfor(let i = 0; i < this.bodies.length; ++i) {\n\t\t\tconst body = this.bodies[i];\n\n\t\t\tbody.x += body.direction_x * speed;\n\t\t\tbody.y += body.direction_y * speed;\n\n\t\t\tconst potentials = body.potentials();\n\n\t\t\tfor(const body2 of potentials) {\n\t\t\t\tif(body.collides(body2, result)) {\n\t\t\t\t\tbody.x -= result.overlap * result.overlap_x;\n\t\t\t\t\tbody.y -= result.overlap * result.overlap_y;\n\n\t\t\t\t\tlet dot = body.direction_x * result.overlap_y + body.direction_y * -result.overlap_x;\n\n\t\t\t\t\tbody.direction_x = 2 * dot * result.overlap_y - body.direction_x;\n\t\t\t\t\tbody.direction_y = 2 * dot * -result.overlap_x - body.direction_y;\n\n\t\t\t\t\tdot = body2.direction_x * result.overlap_y + body2.direction_y * -result.overlap_x;\n\n\t\t\t\t\tbody2.direction_x = 2 * dot * result.overlap_y - body2.direction_x;\n\t\t\t\t\tbody2.direction_y = 2 * dot * -result.overlap_x - body2.direction_y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Clear the canvas\n\t\tthis.context.fillStyle = '#000000';\n\t\tthis.context.fillRect(0, 0, width, height);\n\n\t\t// Render the bodies\n\t\tthis.context.strokeStyle = '#FFFFFF';\n\t\tthis.context.beginPath();\n\t\tthis.collisions.draw(this.context);\n\t\tthis.context.stroke();\n\n\t\t// Render the BVH\n\t\tif(this.bvh_checkbox.checked) {\n\t\t\tthis.context.strokeStyle = '#00FF00';\n\t\t\tthis.context.beginPath();\n\t\t\tthis.collisions.drawBVH(this.context);\n\t\t\tthis.context.stroke();\n\t\t}\n\n\t\t// Render the FPS\n\t\tthis.context.fillStyle = '#FFCC00';\n\t\tthis.context.fillText(average_fps, 10, 30);\n\t}\n\n\tcreateShape(large) {\n\t\tconst min_size  = size * 0.75 * (large ? 3 : 1);\n\t\tconst max_size  = size * 1.25 * (large ? 5 : 1);\n\t\tconst x         = random(0, width);\n\t\tconst y         = random(0, height);\n\t\tconst direction = random(0, 360) * Math.PI / 180;\n\n\t\tlet body;\n\n\t\tif(random(0, 2)) {\n\t\t\tbody = this.collisions.createCircle(x, y, random(min_size, max_size));\n\n\t\t\t++this.circles;\n\t\t}\n\t\telse {\n\t\t\tbody = this.collisions.createPolygon(x, y, [\n\t\t\t\t[-random(min_size, max_size), -random(min_size, max_size)],\n\t\t\t\t[random(min_size, max_size), -random(min_size, max_size)],\n\t\t\t\t[random(min_size, max_size), random(min_size, max_size)],\n\t\t\t\t[-random(min_size, max_size), random(3, size)],\n\t\t\t], random(0, 360) * Math.PI / 180);\n\n\t\t\t++this.polygons;\n\t\t}\n\n\t\tbody.direction_x = Math.cos(direction);\n\t\tbody.direction_y = Math.sin(direction);\n\n\t\tthis.bodies.push(body);\n\t}\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Stress;\n\n\nfunction random(min, max) {\n\treturn Math.floor(Math.random() * max) + min;\n}\n\n\n/***/ })\n/******/ ]);"
  },
  {
    "path": "docs/file/src/Collisions.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../\">\n  <title data-ice=\"title\">src/Collisions.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/Collisions.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">import BVH     from &apos;./modules/BVH.mjs&apos;;\nimport Circle  from &apos;./modules/Circle.mjs&apos;;\nimport Polygon from &apos;./modules/Polygon.mjs&apos;;\nimport Point   from &apos;./modules/Point.mjs&apos;;\nimport Result  from &apos;./modules/Result.mjs&apos;;\nimport SAT     from &apos;./modules/SAT.mjs&apos;;\n\n/**\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n */\nclass Collisions {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh = new BVH();\n\t}\n\n\t/**\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t */\n\tcreateCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tconst body = new Circle(x, y, radius, scale, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array&lt;Number[]&gt;} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t */\n\tcreatePolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tconst body = new Polygon(x, y, points, angle, scale_x, scale_y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t */\n\tcreatePoint(x = 0, y = 0, padding = 0) {\n\t\tconst body = new Point(x, y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tinsert(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.insert(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tremove(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.remove(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t */\n\tupdate() {\n\t\tthis._bvh.update();\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Draws the bodies within the system to a CanvasRenderingContext2D&apos;s current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\treturn this._bvh.draw(context);\n\t}\n\n\t/**\n\t * Draws the system&apos;s BVH to a CanvasRenderingContext2D&apos;s current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\treturn this._bvh.drawBVH(context);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array&lt;Body&gt;}\n\t */\n\tpotentials(body) {\n\t\treturn this._bvh.potentials(body);\n\t}\n\n\t/**\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(source, target, result = null, aabb = true) {\n\t\treturn SAT(source, target, result, aabb);\n\t}\n};\n\nexport {\n\tCollisions as default,\n\tCollisions,\n\tResult,\n\tCircle,\n\tPolygon,\n\tPoint,\n};\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/BVH.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/BVH.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/BVH.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">import BVHBranch from &apos;./BVHBranch.mjs&apos;;\n\n/**\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n */\nexport default class BVH {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._hierarchy = null;\n\n\t\t/** @private */\n\t\tthis._bodies = [];\n\n\t\t/** @private */\n\t\tthis._dirty_branches = [];\n\t}\n\n\t/**\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body&apos;s position)\n\t */\n\tinsert(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh &amp;&amp; bvh !== this) {\n\t\t\t\tthrow new Error(&apos;Body belongs to another collision system&apos;);\n\t\t\t}\n\n\t\t\tbody._bvh = this;\n\t\t\tthis._bodies.push(body);\n\t\t}\n\n\t\tconst polygon = body._polygon;\n\t\tconst body_x  = body.x;\n\t\tconst body_y  = body.y;\n\n\t\tif(polygon) {\n\t\t\tif(\n\t\t\t\tbody._dirty_coords ||\n\t\t\t\tbody.x       !== body._x ||\n\t\t\t\tbody.y       !== body._y ||\n\t\t\t\tbody.angle   !== body._angle ||\n\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t) {\n\t\t\t\tbody._calculateCoords();\n\t\t\t}\n\t\t}\n\n\t\tconst padding    = body._bvh_padding;\n\t\tconst radius     = polygon ? 0 : body.radius * body.scale;\n\t\tconst body_min_x = (polygon ? body._min_x : body_x - radius) - padding;\n\t\tconst body_min_y = (polygon ? body._min_y : body_y - radius) - padding;\n\t\tconst body_max_x = (polygon ? body._max_x : body_x + radius) + padding;\n\t\tconst body_max_y = (polygon ? body._max_y : body_y + radius) + padding;\n\n\t\tbody._bvh_min_x = body_min_x;\n\t\tbody._bvh_min_y = body_min_y;\n\t\tbody._bvh_max_x = body_max_x;\n\t\tbody._bvh_max_y = body_max_y;\n\n\t\tlet current = this._hierarchy;\n\t\tlet sort    = 0;\n\n\t\tif(!current) {\n\t\t\tthis._hierarchy = body;\n\t\t}\n\t\telse {\n\t\t\twhile(true) {\n\t\t\t\t// Branch\n\t\t\t\tif(current._bvh_branch) {\n\t\t\t\t\tconst left            = current._bvh_left;\n\t\t\t\t\tconst left_min_y      = left._bvh_min_y;\n\t\t\t\t\tconst left_max_x      = left._bvh_max_x;\n\t\t\t\t\tconst left_max_y      = left._bvh_max_y;\n\t\t\t\t\tconst left_new_min_x  = body_min_x &lt; left._bvh_min_x ? body_min_x : left._bvh_min_x;\n\t\t\t\t\tconst left_new_min_y  = body_min_y &lt; left_min_y ? body_min_y : left_min_y;\n\t\t\t\t\tconst left_new_max_x  = body_max_x &gt; left_max_x ? body_max_x : left_max_x;\n\t\t\t\t\tconst left_new_max_y  = body_max_y &gt; left_max_y ? body_max_y : left_max_y;\n\t\t\t\t\tconst left_volume     = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y);\n\t\t\t\t\tconst left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y);\n\t\t\t\t\tconst left_difference = left_new_volume - left_volume;\n\n\t\t\t\t\tconst right            = current._bvh_right;\n\t\t\t\t\tconst right_min_x      = right._bvh_min_x;\n\t\t\t\t\tconst right_min_y      = right._bvh_min_y;\n\t\t\t\t\tconst right_max_x      = right._bvh_max_x;\n\t\t\t\t\tconst right_max_y      = right._bvh_max_y;\n\t\t\t\t\tconst right_new_min_x  = body_min_x &lt; right_min_x ? body_min_x : right_min_x;\n\t\t\t\t\tconst right_new_min_y  = body_min_y &lt; right_min_y ? body_min_y : right_min_y;\n\t\t\t\t\tconst right_new_max_x  = body_max_x &gt; right_max_x ? body_max_x : right_max_x;\n\t\t\t\t\tconst right_new_max_y  = body_max_y &gt; right_max_y ? body_max_y : right_max_y;\n\t\t\t\t\tconst right_volume     = (right_max_x - right_min_x) * (right_max_y - right_min_y);\n\t\t\t\t\tconst right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y);\n\t\t\t\t\tconst right_difference = right_new_volume - right_volume;\n\n\t\t\t\t\tcurrent._bvh_sort  = sort++;\n\t\t\t\t\tcurrent._bvh_min_x = left_new_min_x &lt; right_new_min_x ? left_new_min_x : right_new_min_x;\n\t\t\t\t\tcurrent._bvh_min_y = left_new_min_y &lt; right_new_min_y ? left_new_min_y : right_new_min_y;\n\t\t\t\t\tcurrent._bvh_max_x = left_new_max_x &gt; right_new_max_x ? left_new_max_x : right_new_max_x;\n\t\t\t\t\tcurrent._bvh_max_y = left_new_max_y &gt; right_new_max_y ? left_new_max_y : right_new_max_y;\n\n\t\t\t\t\tcurrent = left_difference &lt;= right_difference ? left : right;\n\t\t\t\t}\n\t\t\t\t// Leaf\n\t\t\t\telse {\n\t\t\t\t\tconst grandparent  = current._bvh_parent;\n\t\t\t\t\tconst parent_min_x = current._bvh_min_x;\n\t\t\t\t\tconst parent_min_y = current._bvh_min_y;\n\t\t\t\t\tconst parent_max_x = current._bvh_max_x;\n\t\t\t\t\tconst parent_max_y = current._bvh_max_y;\n\t\t\t\t\tconst new_parent   = current._bvh_parent = body._bvh_parent = BVHBranch.getBranch();\n\n\t\t\t\t\tnew_parent._bvh_parent = grandparent;\n\t\t\t\t\tnew_parent._bvh_left   = current;\n\t\t\t\t\tnew_parent._bvh_right  = body;\n\t\t\t\t\tnew_parent._bvh_sort   = sort++;\n\t\t\t\t\tnew_parent._bvh_min_x  = body_min_x &lt; parent_min_x ? body_min_x : parent_min_x;\n\t\t\t\t\tnew_parent._bvh_min_y  = body_min_y &lt; parent_min_y ? body_min_y : parent_min_y;\n\t\t\t\t\tnew_parent._bvh_max_x  = body_max_x &gt; parent_max_x ? body_max_x : parent_max_x;\n\t\t\t\t\tnew_parent._bvh_max_y  = body_max_y &gt; parent_max_y ? body_max_y : parent_max_y;\n\n\t\t\t\t\tif(!grandparent) {\n\t\t\t\t\t\tthis._hierarchy = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse if(grandparent._bvh_left === current) {\n\t\t\t\t\t\tgrandparent._bvh_left = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tgrandparent._bvh_right = new_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body&apos;s position)\n\t */\n\tremove(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh &amp;&amp; bvh !== this) {\n\t\t\t\tthrow new Error(&apos;Body belongs to another collision system&apos;);\n\t\t\t}\n\n\t\t\tbody._bvh = null;\n\t\t\tthis._bodies.splice(this._bodies.indexOf(body), 1);\n\t\t}\n\n\t\tif(this._hierarchy === body) {\n\t\t\tthis._hierarchy = null;\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst parent       = body._bvh_parent;\n\t\tconst grandparent  = parent._bvh_parent;\n\t\tconst parent_left  = parent._bvh_left;\n\t\tconst sibling      = parent_left === body ? parent._bvh_right : parent_left;\n\n\t\tsibling._bvh_parent = grandparent;\n\n\t\tif(sibling._bvh_branch) {\n\t\t\tsibling._bvh_sort = parent._bvh_sort;\n\t\t}\n\n\t\tif(grandparent) {\n\t\t\tif(grandparent._bvh_left === parent) {\n\t\t\t\tgrandparent._bvh_left = sibling;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tgrandparent._bvh_right = sibling;\n\t\t\t}\n\n\t\t\tlet branch = grandparent;\n\n\t\t\twhile(branch) {\n\t\t\t\tconst left       = branch._bvh_left;\n\t\t\t\tconst left_min_x = left._bvh_min_x;\n\t\t\t\tconst left_min_y = left._bvh_min_y;\n\t\t\t\tconst left_max_x = left._bvh_max_x;\n\t\t\t\tconst left_max_y = left._bvh_max_y;\n\n\t\t\t\tconst right       = branch._bvh_right;\n\t\t\t\tconst right_min_x = right._bvh_min_x;\n\t\t\t\tconst right_min_y = right._bvh_min_y;\n\t\t\t\tconst right_max_x = right._bvh_max_x;\n\t\t\t\tconst right_max_y = right._bvh_max_y;\n\n\t\t\t\tbranch._bvh_min_x = left_min_x &lt; right_min_x ? left_min_x : right_min_x;\n\t\t\t\tbranch._bvh_min_y = left_min_y &lt; right_min_y ? left_min_y : right_min_y;\n\t\t\t\tbranch._bvh_max_x = left_max_x &gt; right_max_x ? left_max_x : right_max_x;\n\t\t\t\tbranch._bvh_max_y = left_max_y &gt; right_max_y ? left_max_y : right_max_y;\n\n\t\t\t\tbranch = branch._bvh_parent;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._hierarchy = sibling;\n\t\t}\n\n\t\tBVHBranch.releaseBranch(parent);\n\t}\n\n\t/**\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t */\n\tupdate() {\n\t\tconst bodies = this._bodies;\n\t\tconst count  = bodies.length;\n\n\t\tfor(let i = 0; i &lt; count; ++i) {\n\t\t\tconst body = bodies[i];\n\n\t\t\tlet update = false;\n\n\t\t\tif(!update &amp;&amp; body.padding !== body._bvh_padding) {\n\t\t\t\tbody._bvh_padding = body.padding;\n\t\t\t\tupdate = true;\n\t\t\t}\n\n\t\t\tif(!update) {\n\t\t\t\tconst polygon = body._polygon;\n\n\t\t\t\tif(polygon) {\n\t\t\t\t\tif(\n\t\t\t\t\t\tbody._dirty_coords ||\n\t\t\t\t\t\tbody.x       !== body._x ||\n\t\t\t\t\t\tbody.y       !== body._y ||\n\t\t\t\t\t\tbody.angle   !== body._angle ||\n\t\t\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t\t\t) {\n\t\t\t\t\t\tbody._calculateCoords();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst x      = body.x;\n\t\t\t\tconst y      = body.y;\n\t\t\t\tconst radius = polygon ? 0 : body.radius * body.scale;\n\t\t\t\tconst min_x  = polygon ? body._min_x : x - radius;\n\t\t\t\tconst min_y  = polygon ? body._min_y : y - radius;\n\t\t\t\tconst max_x  = polygon ? body._max_x : x + radius;\n\t\t\t\tconst max_y  = polygon ? body._max_y : y + radius;\n\n\t\t\t\tupdate = min_x &lt; body._bvh_min_x || min_y &lt; body._bvh_min_y || max_x &gt; body._bvh_max_x || max_y &gt; body._bvh_max_y;\n\t\t\t}\n\n\t\t\tif(update) {\n\t\t\t\tthis.remove(body, true);\n\t\t\t\tthis.insert(body, true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array&lt;Body&gt;}\n\t */\n\tpotentials(body) {\n\t\tconst results = [];\n\t\tconst min_x   = body._bvh_min_x;\n\t\tconst min_y   = body._bvh_min_y;\n\t\tconst max_x   = body._bvh_max_x;\n\t\tconst max_y   = body._bvh_max_y;\n\n\t\tlet current       = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\tif(!current || !current._bvh_branch) {\n\t\t\treturn results;\n\t\t}\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(\n\t\t\t\t\tleft &amp;&amp;\n\t\t\t\t\tleft._bvh_max_x &gt;= min_x &amp;&amp;\n\t\t\t\t\tleft._bvh_max_y &gt;= min_y &amp;&amp;\n\t\t\t\t\tleft._bvh_min_x &lt;= max_x &amp;&amp;\n\t\t\t\t\tleft._bvh_min_y &lt;= max_y\n\t\t\t\t) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft    = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst right  = branch ? current._bvh_right : null;\n\n\t\t\tif(\n\t\t\t\tright &amp;&amp;\n\t\t\t\tright._bvh_max_x &gt; min_x &amp;&amp;\n\t\t\t\tright._bvh_max_y &gt; min_y &amp;&amp;\n\t\t\t\tright._bvh_min_x &lt; max_x &amp;&amp;\n\t\t\t\tright._bvh_min_y &lt; max_y\n\t\t\t) {\n\t\t\t\tcurrent       = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(!branch &amp;&amp; current !== body) {\n\t\t\t\t\tresults.push(current);\n\t\t\t\t}\n\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent &amp;&amp; parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent  = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn results;\n\t}\n\n\t/**\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D&apos;s current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\tconst bodies = this._bodies;\n\t\tconst count  = bodies.length;\n\n\t\tfor(let i = 0; i &lt; count; ++i) {\n\t\t\tbodies[i].draw(context);\n\t\t}\n\t}\n\n\t/**\n\t * Draws the BVH to a CanvasRenderingContext2D&apos;s current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\tlet current       = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(left) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft    = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst min_x  = current._bvh_min_x;\n\t\t\tconst min_y  = current._bvh_min_y;\n\t\t\tconst max_x  = current._bvh_max_x;\n\t\t\tconst max_y  = current._bvh_max_y;\n\t\t\tconst right  = branch ? current._bvh_right : null;\n\n\t\t\tcontext.moveTo(min_x, min_y);\n\t\t\tcontext.lineTo(max_x, min_y);\n\t\t\tcontext.lineTo(max_x, max_y);\n\t\t\tcontext.lineTo(min_x, max_y);\n\t\t\tcontext.lineTo(min_x, min_y);\n\n\t\t\tif(right) {\n\t\t\t\tcurrent       = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent &amp;&amp; parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent  = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/BVHBranch.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/BVHBranch.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/BVHBranch.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">/**\n * @private\n */\nconst branch_pool = [];\n\n/**\n * A branch within a BVH\n * @class\n * @private\n */\nexport default class BVHBranch {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = true;\n\n\t\t/** @private */\n\t\tthis._bvh_left = null;\n\n\t\t/** @private */\n\t\tthis._bvh_right = null;\n\n\t\t/** @private */\n\t\tthis._bvh_sort = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t */\n\tstatic getBranch() {\n\t\tif(branch_pool.length) {\n\t\t\treturn branch_pool.pop();\n\t\t}\n\n\t\treturn new BVHBranch();\n\t}\n\n\t/**\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t */\n\tstatic releaseBranch(branch) {\n\t\tbranch_pool.push(branch);\n\t}\n\n\t/**\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t */\n\tstatic sortBranches(a, b) {\n\t\treturn a.sort &gt; b.sort ? -1 : 1;\n\t}\n};\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/Body.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/Body.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/Body.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">import Result from &apos;./Result.mjs&apos;;\nimport SAT    from &apos;./SAT.mjs&apos;;\n\n/**\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n */\nexport default class Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\t/**\n\t\t * @desc The X coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.x = x;\n\n\t\t/**\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.y = y;\n\n\t\t/**\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t */\n\t\tthis.padding = padding;\n\n\t\t/** @private */\n\t\tthis._circle = false;\n\n\t\t/** @private */\n\t\tthis._polygon = false;\n\n\t\t/** @private */\n\t\tthis._point = false;\n\n\t\t/** @private */\n\t\tthis._bvh = null;\n\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = false;\n\n\t\t/** @private */\n\t\tthis._bvh_padding = padding;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(target, result = null, aabb = true) {\n\t\treturn SAT(this, target, result, aabb);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions\n\t * @returns {Array&lt;Body&gt;}\n\t */\n\tpotentials() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh === null) {\n\t\t\tthrow new Error(&apos;Body does not belong to a collision system&apos;);\n\t\t}\n\n\t\treturn bvh.potentials(this);\n\t}\n\n\t/**\n\t * Removes the body from its current collision system\n\t */\n\tremove() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh) {\n\t\t\tbvh.remove(this, false);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new Result();\n\t}\n};\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/Circle.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/Circle.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/Circle.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">import Body from &apos;./Body.mjs&apos;;\n\n/**\n * A circle used to detect collisions\n * @class\n */\nexport default class Circle extends Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.radius = radius;\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale = scale;\n\t}\n\n\t/**\n\t * Draws the circle to a CanvasRenderingContext2D&apos;s current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t */\n\tdraw(context) {\n\t\tconst x      = this.x;\n\t\tconst y      = this.y;\n\t\tconst radius = this.radius * this.scale;\n\n\t\tcontext.moveTo(x + radius, y);\n\t\tcontext.arc(x, y, radius, 0, Math.PI * 2);\n\t}\n};\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/Point.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/Point.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/Point.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">import Polygon from &apos;./Polygon.mjs&apos;;\n\n/**\n * A point used to detect collisions\n * @class\n */\nexport default class Point extends Polygon {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\tsuper(x, y, [[0, 0]], 0, 1, 1, padding);\n\n\t\t/** @private */\n\t\tthis._point = true;\n\t}\n};\n\nPoint.prototype.setPoints = undefined;\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/Polygon.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/Polygon.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/Polygon.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">import Body from &apos;./Body.mjs&apos;;\n\n/**\n * A polygon used to detect collisions\n * @class\n */\nexport default class Polygon extends Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array&lt;Number[]&gt;} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t */\n\t\tthis.angle = angle;\n\n\t\t/**\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_x = scale_x;\n\n\t\t/**\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_y = scale_y;\n\n\n\t\t/** @private */\n\t\tthis._polygon = true;\n\n\t\t/** @private */\n\t\tthis._x = x;\n\n\t\t/** @private */\n\t\tthis._y = y;\n\n\t\t/** @private */\n\t\tthis._angle = angle;\n\n\t\t/** @private */\n\t\tthis._scale_x = scale_x;\n\n\t\t/** @private */\n\t\tthis._scale_y = scale_y;\n\n\t\t/** @private */\n\t\tthis._min_x = 0;\n\n\t\t/** @private */\n\t\tthis._min_y = 0;\n\n\t\t/** @private */\n\t\tthis._max_x = 0;\n\n\t\t/** @private */\n\t\tthis._max_y = 0;\n\n\t\t/** @private */\n\t\tthis._points = null;\n\n\t\t/** @private */\n\t\tthis._coords = null;\n\n\t\t/** @private */\n\t\tthis._edges = null;\n\n\t\t/** @private */\n\t\tthis._normals = null;\n\n\t\t/** @private */\n\t\tthis._dirty_coords = true;\n\n\t\t/** @private */\n\t\tthis._dirty_normals = true;\n\n\t\tPolygon.prototype.setPoints.call(this, points);\n\t}\n\n\t/**\n\t * Draws the polygon to a CanvasRenderingContext2D&apos;s current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t */\n\tdraw(context) {\n\t\tif(\n\t\t\tthis._dirty_coords ||\n\t\t\tthis.x       !== this._x ||\n\t\t\tthis.y       !== this._y ||\n\t\t\tthis.angle   !== this._angle ||\n\t\t\tthis.scale_x !== this._scale_x ||\n\t\t\tthis.scale_y !== this._scale_y\n\t\t) {\n\t\t\tthis._calculateCoords();\n\t\t}\n\n\t\tconst coords = this._coords;\n\n\t\tif(coords.length === 2) {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\t\t\tcontext.arc(coords[0], coords[1], 1, 0, Math.PI * 2);\n\t\t}\n\t\telse {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\n\t\t\tfor(let i = 2; i &lt; coords.length; i += 2) {\n\t\t\t\tcontext.lineTo(coords[i], coords[i + 1]);\n\t\t\t}\n\n\t\t\tif(coords.length &gt; 4) {\n\t\t\t\tcontext.lineTo(coords[0], coords[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets the points making up the polygon. It&apos;s important to use this function when changing the polygon&apos;s shape to ensure internal data is also updated.\n\t * @param {Array&lt;Number[]&gt;} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t */\n\tsetPoints(new_points) {\n\t\tconst count = new_points.length;\n\n\t\tthis._points  = new Float64Array(count * 2);\n\t\tthis._coords  = new Float64Array(count * 2);\n\t\tthis._edges   = new Float64Array(count * 2);\n\t\tthis._normals = new Float64Array(count * 2);\n\n\t\tconst points = this._points;\n\n\t\tfor(let i = 0, ix = 0, iy = 1; i &lt; count; ++i, ix += 2, iy += 2) {\n\t\t\tconst new_point = new_points[i];\n\n\t\t\tpoints[ix] = new_point[0];\n\t\t\tpoints[iy] = new_point[1];\n\t\t}\n\n\t\tthis._dirty_coords = true;\n\t}\n\n\t/**\n\t * Calculates and caches the polygon&apos;s world coordinates based on its points, angle, and scale\n\t */\n\t_calculateCoords() {\n\t\tconst x       = this.x;\n\t\tconst y       = this.y;\n\t\tconst angle   = this.angle;\n\t\tconst scale_x = this.scale_x;\n\t\tconst scale_y = this.scale_y;\n\t\tconst points  = this._points;\n\t\tconst coords  = this._coords;\n\t\tconst count   = points.length;\n\n\t\tlet min_x;\n\t\tlet max_x;\n\t\tlet min_y;\n\t\tlet max_y;\n\n\t\tfor(let ix = 0, iy = 1; ix &lt; count; ix += 2, iy += 2) {\n\t\t\tlet coord_x = points[ix] * scale_x;\n\t\t\tlet coord_y = points[iy] * scale_y;\n\n\t\t\tif(angle) {\n\t\t\t\tconst cos   = Math.cos(angle);\n\t\t\t\tconst sin   = Math.sin(angle);\n\t\t\t\tconst tmp_x = coord_x;\n\t\t\t\tconst tmp_y = coord_y;\n\n\t\t\t\tcoord_x = tmp_x * cos - tmp_y * sin;\n\t\t\t\tcoord_y = tmp_x * sin + tmp_y * cos;\n\t\t\t}\n\n\t\t\tcoord_x += x;\n\t\t\tcoord_y += y;\n\n\t\t\tcoords[ix] = coord_x;\n\t\t\tcoords[iy] = coord_y;\n\n\t\t\tif(ix === 0) {\n\t\t\t\tmin_x = max_x = coord_x;\n\t\t\t\tmin_y = max_y = coord_y;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(coord_x &lt; min_x) {\n\t\t\t\t\tmin_x = coord_x;\n\t\t\t\t}\n\t\t\t\telse if(coord_x &gt; max_x) {\n\t\t\t\t\tmax_x = coord_x;\n\t\t\t\t}\n\n\t\t\t\tif(coord_y &lt; min_y) {\n\t\t\t\t\tmin_y = coord_y;\n\t\t\t\t}\n\t\t\t\telse if(coord_y &gt; max_y) {\n\t\t\t\t\tmax_y = coord_y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._x             = x;\n\t\tthis._y             = y;\n\t\tthis._angle         = angle;\n\t\tthis._scale_x       = scale_x;\n\t\tthis._scale_y       = scale_y;\n\t\tthis._min_x         = min_x;\n\t\tthis._min_y         = min_y;\n\t\tthis._max_x         = max_x;\n\t\tthis._max_y         = max_y;\n\t\tthis._dirty_coords  = false;\n\t\tthis._dirty_normals = true;\n\t}\n\n\t/**\n\t * Calculates the normals and edges of the polygon&apos;s sides\n\t */\n\t_calculateNormals() {\n\t\tconst coords  = this._coords;\n\t\tconst edges   = this._edges;\n\t\tconst normals = this._normals;\n\t\tconst count   = coords.length;\n\n\t\tfor(let ix = 0, iy = 1; ix &lt; count; ix += 2, iy += 2) {\n\t\t\tconst next   = ix + 2 &lt; count ? ix + 2 : 0;\n\t\t\tconst x      = coords[next] - coords[ix];\n\t\t\tconst y      = coords[next + 1] - coords[iy];\n\t\t\tconst length = x || y ? Math.sqrt(x * x + y * y) : 0;\n\n\t\t\tedges[ix]   = x;\n\t\t\tedges[iy]   = y;\n\t\t\tnormals[ix] = length ? y / length : 0;\n\t\t\tnormals[iy] = length ? -x / length : 0;\n\t\t}\n\n\t\tthis._dirty_normals = false;\n\t}\n};\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/Result.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/Result.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/Result.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">/**\n * An object used to collect the detailed results of a collision test\n *\n * &gt; **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n */\nexport default class Result {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/**\n\t\t * @desc True if a collision was detected\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.collision = false;\n\n\t\t/**\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.a = null;\n\n\t\t/**\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.b = null;\n\n\t\t/**\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.a_in_b = false;\n\n\t\t/**\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.a_in_b = false;\n\n\t\t/**\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap = 0;\n\n\t\t/**\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_x = 0;\n\n\t\t/**\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_y = 0;\n\t}\n};\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/file/src/modules/SAT.mjs.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"../../../\">\n  <title data-ice=\"title\">src/modules/SAT.mjs | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1 data-ice=\"title\">src/modules/SAT.mjs</h1>\n<pre class=\"source-code line-number raw-source-code\"><code class=\"prettyprint linenums\" data-ice=\"content\">/**\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n */\nexport default function SAT(a, b, result = null, aabb = true) {\n\tconst a_polygon = a._polygon;\n\tconst b_polygon = b._polygon;\n\n\tlet collision = false;\n\n\tif(result) {\n\t\tresult.a         = a;\n\t\tresult.b         = b;\n\t\tresult.a_in_b    = true;\n\t\tresult.b_in_a    = true;\n\t\tresult.overlap   = null;\n\t\tresult.overlap_x = 0;\n\t\tresult.overlap_y = 0;\n\t}\n\n\tif(a_polygon) {\n\t\tif(\n\t\t\ta._dirty_coords ||\n\t\t\ta.x       !== a._x ||\n\t\t\ta.y       !== a._y ||\n\t\t\ta.angle   !== a._angle ||\n\t\t\ta.scale_x !== a._scale_x ||\n\t\t\ta.scale_y !== a._scale_y\n\t\t) {\n\t\t\ta._calculateCoords();\n\t\t}\n\t}\n\n\tif(b_polygon) {\n\t\tif(\n\t\t\tb._dirty_coords ||\n\t\t\tb.x       !== b._x ||\n\t\t\tb.y       !== b._y ||\n\t\t\tb.angle   !== b._angle ||\n\t\t\tb.scale_x !== b._scale_x ||\n\t\t\tb.scale_y !== b._scale_y\n\t\t) {\n\t\t\tb._calculateCoords();\n\t\t}\n\t}\n\n\tif(!aabb || aabbAABB(a, b)) {\n\t\tif(a_polygon &amp;&amp; a._dirty_normals) {\n\t\t\ta._calculateNormals();\n\t\t}\n\n\t\tif(b_polygon &amp;&amp; b._dirty_normals) {\n\t\t\tb._calculateNormals();\n\t\t}\n\n\t\tcollision = (\n\t\t\ta_polygon &amp;&amp; b_polygon ? polygonPolygon(a, b, result) :\n\t\t\ta_polygon ? polygonCircle(a, b, result, false) :\n\t\t\tb_polygon ? polygonCircle(b, a, result, true) :\n\t\t\tcircleCircle(a, b, result)\n\t\t);\n\t}\n\n\tif(result) {\n\t\tresult.collision = collision;\n\t}\n\n\treturn collision;\n};\n\n/**\n * Determines if two bodies&apos; axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n */\nfunction aabbAABB(a, b) {\n\tconst a_polygon = a._polygon;\n\tconst a_x       = a_polygon ? 0 : a.x;\n\tconst a_y       = a_polygon ? 0 : a.y;\n\tconst a_radius  = a_polygon ? 0 : a.radius * a.scale;\n\tconst a_min_x   = a_polygon ? a._min_x : a_x - a_radius;\n\tconst a_min_y   = a_polygon ? a._min_y : a_y - a_radius;\n\tconst a_max_x   = a_polygon ? a._max_x : a_x + a_radius;\n\tconst a_max_y   = a_polygon ? a._max_y : a_y + a_radius;\n\n\tconst b_polygon = b._polygon;\n\tconst b_x       = b_polygon ? 0 : b.x;\n\tconst b_y       = b_polygon ? 0 : b.y;\n\tconst b_radius  = b_polygon ? 0 : b.radius * b.scale;\n\tconst b_min_x   = b_polygon ? b._min_x : b_x - b_radius;\n\tconst b_min_y   = b_polygon ? b._min_y : b_y - b_radius;\n\tconst b_max_x   = b_polygon ? b._max_x : b_x + b_radius;\n\tconst b_max_y   = b_polygon ? b._max_y : b_y + b_radius;\n\n\treturn a_min_x &lt; b_max_x &amp;&amp; a_min_y &lt; b_max_y &amp;&amp; a_max_x &gt; b_min_x &amp;&amp; a_max_y &gt; b_min_y;\n}\n\n/**\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction polygonPolygon(a, b, result = null) {\n\tconst a_count = a._coords.length;\n\tconst b_count = b._coords.length;\n\n\t// Handle points specially\n\tif(a_count === 2 &amp;&amp; b_count === 2) {\n\t\tconst a_coords = a._coords;\n\t\tconst b_coords = b._coords;\n\n\t\tif(result) {\n\t\t\tresult.overlap = 0;\n\t\t}\n\n\t\treturn a_coords[0] === b_coords[0] &amp;&amp; a_coords[1] === b_coords[1];\n\t}\n\n\tconst a_coords  = a._coords;\n\tconst b_coords  = b._coords;\n\tconst a_normals = a._normals;\n\tconst b_normals = b._normals;\n\n\tif(a_count &gt; 2) {\n\t\tfor(let ix = 0, iy = 1; ix &lt; a_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(b_count &gt; 2) {\n\t\tfor(let ix = 0, iy = 1; ix &lt; b_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle-&gt;polygon instead of polygon-&gt;circle\n * @returns {Boolean}\n */\nfunction polygonCircle(a, b, result = null, reverse = false) {\n\tconst a_coords       = a._coords;\n\tconst a_edges        = a._edges;\n\tconst a_normals      = a._normals;\n\tconst b_x            = b.x;\n\tconst b_y            = b.y;\n\tconst b_radius       = b.radius * b.scale;\n\tconst b_radius2      = b_radius * 2;\n\tconst radius_squared = b_radius * b_radius;\n\tconst count          = a_coords.length;\n\n\tlet a_in_b    = true;\n\tlet b_in_a    = true;\n\tlet overlap   = null;\n\tlet overlap_x = 0;\n\tlet overlap_y = 0;\n\n\t// Handle points specially\n\tif(count === 2) {\n\t\tconst coord_x        = b_x - a_coords[0];\n\t\tconst coord_y        = b_y - a_coords[1];\n\t\tconst length_squared = coord_x * coord_x + coord_y * coord_y;\n\n\t\tif(length_squared &gt; radius_squared) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif(result) {\n\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\toverlap   = b_radius - length;\n\t\t\toverlap_x = coord_x / length;\n\t\t\toverlap_y = coord_y / length;\n\t\t\tb_in_a    = false;\n\t\t}\n\t}\n\telse {\n\t\tfor(let ix = 0, iy = 1; ix &lt; count; ix += 2, iy += 2) {\n\t\t\tconst coord_x = b_x - a_coords[ix];\n\t\t\tconst coord_y = b_y - a_coords[iy];\n\t\t\tconst edge_x  = a_edges[ix];\n\t\t\tconst edge_y  = a_edges[iy];\n\t\t\tconst dot     = coord_x * edge_x + coord_y * edge_y;\n\t\t\tconst region  = dot &lt; 0 ? -1 : dot &gt; edge_x * edge_x + edge_y * edge_y ? 1 : 0;\n\n\t\t\tlet tmp_overlapping = false;\n\t\t\tlet tmp_overlap     = 0;\n\t\t\tlet tmp_overlap_x   = 0;\n\t\t\tlet tmp_overlap_y   = 0;\n\n\t\t\tif(result &amp;&amp; a_in_b &amp;&amp; coord_x * coord_x + coord_y * coord_y &gt; radius_squared) {\n\t\t\t\ta_in_b = false;\n\t\t\t}\n\n\t\t\tif(region) {\n\t\t\t\tconst left     = region === -1;\n\t\t\t\tconst other_x  = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2);\n\t\t\t\tconst other_y  = other_x + 1;\n\t\t\t\tconst coord2_x = b_x - a_coords[other_x];\n\t\t\t\tconst coord2_y = b_y - a_coords[other_y];\n\t\t\t\tconst edge2_x  = a_edges[other_x];\n\t\t\t\tconst edge2_y  = a_edges[other_y];\n\t\t\t\tconst dot2     = coord2_x * edge2_x + coord2_y * edge2_y;\n\t\t\t\tconst region2  = dot2 &lt; 0 ? -1 : dot2 &gt; edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0;\n\n\t\t\t\tif(region2 === -region) {\n\t\t\t\t\tconst target_x       = left ? coord_x : coord2_x;\n\t\t\t\t\tconst target_y       = left ? coord_y : coord2_y;\n\t\t\t\t\tconst length_squared = target_x * target_x + target_y * target_y;\n\n\t\t\t\t\tif(length_squared &gt; radius_squared) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(result) {\n\t\t\t\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\t\ttmp_overlap     = b_radius - length;\n\t\t\t\t\t\ttmp_overlap_x   = target_x / length;\n\t\t\t\t\t\ttmp_overlap_y   = target_y / length;\n\t\t\t\t\t\tb_in_a          = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst normal_x        = a_normals[ix];\n\t\t\t\tconst normal_y        = a_normals[iy];\n\t\t\t\tconst length          = coord_x * normal_x + coord_y * normal_y;\n\t\t\t\tconst absolute_length = length &lt; 0 ? -length : length;\n\n\t\t\t\tif(length &gt; 0 &amp;&amp; absolute_length &gt; b_radius) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif(result) {\n\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\ttmp_overlap     = b_radius - length;\n\t\t\t\t\ttmp_overlap_x   = normal_x;\n\t\t\t\t\ttmp_overlap_y   = normal_y;\n\n\t\t\t\t\tif(b_in_a &amp;&amp; length &gt;= 0 || tmp_overlap &lt; b_radius2) {\n\t\t\t\t\t\tb_in_a = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(tmp_overlapping &amp;&amp; (overlap === null || overlap &gt; tmp_overlap)) {\n\t\t\t\toverlap   = tmp_overlap;\n\t\t\t\toverlap_x = tmp_overlap_x;\n\t\t\t\toverlap_y = tmp_overlap_y;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(result) {\n\t\tresult.a_in_b    = reverse ? b_in_a : a_in_b;\n\t\tresult.b_in_a    = reverse ? a_in_b : b_in_a;\n\t\tresult.overlap   = overlap;\n\t\tresult.overlap_x = reverse ? -overlap_x : overlap_x;\n\t\tresult.overlap_y = reverse ? -overlap_y : overlap_y;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction circleCircle(a, b, result = null) {\n\tconst a_radius       = a.radius * a.scale;\n\tconst b_radius       = b.radius * b.scale;\n\tconst difference_x   = b.x - a.x;\n\tconst difference_y   = b.y - a.y;\n\tconst radius_sum     = a_radius + b_radius;\n\tconst length_squared = difference_x * difference_x + difference_y * difference_y;\n\n\tif(length_squared &gt; radius_sum * radius_sum) {\n\t\treturn false;\n\t}\n\n\tif(result) {\n\t\tconst length = Math.sqrt(length_squared);\n\n\t\tresult.a_in_b    = a_radius &lt;= b_radius &amp;&amp; length &lt;= b_radius - a_radius;\n\t\tresult.b_in_a    = b_radius &lt;= a_radius &amp;&amp; length &lt;= a_radius - b_radius;\n\t\tresult.overlap   = radius_sum - length;\n\t\tresult.overlap_x = difference_x / length;\n\t\tresult.overlap_y = difference_y / length;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two polygons are separated by an axis\n * @param {Array&lt;Number[]&gt;} a_coords The coordinates of the polygon to test\n * @param {Array&lt;Number[]&gt;} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction separatingAxis(a_coords, b_coords, x, y, result = null) {\n\tconst a_count = a_coords.length;\n\tconst b_count = b_coords.length;\n\n\tif(!a_count || !b_count) {\n\t\treturn true;\n\t}\n\n\tlet a_start = null;\n\tlet a_end   = null;\n\tlet b_start = null;\n\tlet b_end   = null;\n\n\tfor(let ix = 0, iy = 1; ix &lt; a_count; ix += 2, iy += 2) {\n\t\tconst dot = a_coords[ix] * x + a_coords[iy] * y;\n\n\t\tif(a_start === null || a_start &gt; dot) {\n\t\t\ta_start = dot;\n\t\t}\n\n\t\tif(a_end === null || a_end &lt; dot) {\n\t\t\ta_end = dot;\n\t\t}\n\t}\n\n\tfor(let ix = 0, iy = 1; ix &lt; b_count; ix += 2, iy += 2) {\n\t\tconst dot = b_coords[ix] * x + b_coords[iy] * y;\n\n\t\tif(b_start === null || b_start &gt; dot) {\n\t\t\tb_start = dot;\n\t\t}\n\n\t\tif(b_end === null || b_end &lt; dot) {\n\t\t\tb_end = dot;\n\t\t}\n\t}\n\n\tif(a_start &gt; b_end || a_end &lt; b_start) {\n\t\treturn true;\n\t}\n\n\tif(result) {\n\t\tlet overlap = 0;\n\n\t\tif(a_start &lt; b_start) {\n\t\t\tresult.a_in_b = false;\n\n\t\t\tif(a_end &lt; b_end) {\n\t\t\t\toverlap       = a_end - b_start;\n\t\t\t\tresult.b_in_a = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 &lt; option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tresult.b_in_a = false;\n\n\t\t\tif(a_end &gt; b_end) {\n\t\t\t\toverlap       = a_start - b_end;\n\t\t\t\tresult.a_in_b = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 &lt; option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\n\t\tconst current_overlap  = result.overlap;\n\t\tconst absolute_overlap = overlap &lt; 0 ? -overlap : overlap;\n\n\t\tif(current_overlap === null || current_overlap &gt; absolute_overlap) {\n\t\t\tconst sign = overlap &lt; 0 ? -1 : 1;\n\n\t\t\tresult.overlap   = absolute_overlap;\n\t\t\tresult.overlap_x = x * sign;\n\t\t\tresult.overlap_y = y * sign;\n\t\t}\n\t}\n\n\treturn false;\n}\n</code></pre>\n\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/identifiers.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\">\n  <title data-ice=\"title\">Reference | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1>References</h1>\n\n<div class=\"identifiers-wrap\">\n  <div>\n    \n  <div data-ice=\"dirSummaryWrap\">\n      \n      <div data-ice=\"dirSummary\"><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">summary</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          <span data-ice=\"kind-icon\" class=\"kind-class\">C</span>\n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>A collision system used to track bodies in order to improve collision detection performance</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n    </div>\n<div data-ice=\"dirSummaryWrap\">\n      <h2 data-ice=\"dirPath\" id=\"modules\">modules</h2>\n      <div data-ice=\"dirSummary\"><table class=\"summary\" data-ice=\"summary\">\n  <thead><tr><td data-ice=\"title\" colspan=\"3\">summary</td></tr></thead>\n  <tbody>\n  \n  <tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">protected</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          <span data-ice=\"kind-icon\" class=\"kind-class\">C</span>\n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>The base class for bodies used to detect collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          <span data-ice=\"kind-icon\" class=\"kind-class\">C</span>\n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>A circle used to detect collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          <span data-ice=\"kind-icon\" class=\"kind-class\">C</span>\n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>A point used to detect collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          <span data-ice=\"kind-icon\" class=\"kind-class\">C</span>\n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>A polygon used to detect collisions</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n<tr data-ice=\"target\">\n    <td>\n      <span class=\"access\" data-ice=\"access\">public</span>\n      \n      \n      \n      <span class=\"override\" data-ice=\"override\"></span>\n    </td>\n    <td>\n      <div>\n        <p>\n          <span data-ice=\"kind-icon\" class=\"kind-class\">C</span>\n          \n          \n          <span class=\"code\" data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span>\n        </p>\n      </div>\n      <div>\n        \n        \n        <div data-ice=\"description\"><p>An object used to collect the detailed results of a collision test</p>\n</div>\n      </div>\n    </td>\n    <td>\n      \n      \n    </td>\n  </tr>\n</tbody>\n</table>\n</div>\n    </div>\n</div>\n\n  <div class=\"identifier-dir-tree\" data-ice=\"dirTreeWrap\">\n    <div class=\"identifier-dir-tree-header\">Directories</div>\n    <div class=\"identifier-dir-tree-content\" data-ice=\"dirTree\"><div style=\"padding-left: 0em\"><a href=\"#modules\">modules</a></div></div>\n  </div>\n</div>\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\">\n  <title data-ice=\"title\">Home | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><div data-ice=\"index\" class=\"github-markdown\"><h1 id=\"collisions\">Collisions</h1><p><strong>Collisions</strong> is a JavaScript library for quickly and accurately detecting collisions between Polygons, Circles, and Points. It combines the efficiency of a <a href=\"https://en.wikipedia.org/wiki/Bounding_volume_hierarchy\">Bounding Volume Hierarchy</a> (BVH) for broad-phase searching and the accuracy of the <a href=\"https://en.wikipedia.org/wiki/Separating_axis_theorem\">Separating Axis Theorem</a> (SAT) for narrow-phase collision testing.</p>\n<ul>\n<li><a href=\"#anchor-installation\">Installation</a></li>\n<li><a href=\"#anchor-documentation\">Documentation</a></li>\n<li><a href=\"#anchor-demos\">Demos</a></li>\n<li><a href=\"#anchor-usage\">Usage</a></li>\n<li><a href=\"#anchor-getting-started\">Getting Started</a><ol>\n<li><a href=\"#anchor-step-1\">Creating a Collision System</a></li>\n<li><a href=\"#anchor-step-2\">Creating, Inserting, Updating, and Removing Bodies</a></li>\n<li><a href=\"#anchor-step-3\">Updating the Collision System</a></li>\n<li><a href=\"#anchor-step-4\">Testing for Collisions</a></li>\n<li><a href=\"#anchor-step-5\">Getting Detailed Collision Information</a></li>\n<li><a href=\"#anchor-step-6\">Negating Overlap</a></li>\n</ol>\n</li>\n<li><a href=\"#anchor-lines\">Lines</a></li>\n<li><a href=\"#anchor-concave-polygons\">Concave Polygons</a></li>\n<li><a href=\"#anchor-rendering\">Rendering</a></li>\n<li><a href=\"#anchor-bounding-volume-padding\">Bounding Volume Padding</a></li>\n<li><a href=\"#anchor-only-using-sat\">Only using SAT</a></li>\n<li><a href=\"#anchor-faq\">FAQ</a></li>\n</ul>\n<p><a name=\"anchor-installation\"></a></p>\n<h1 id=\"installation\">Installation</h1><pre><code class=\"lang-bash\"><code class=\"source-code prettyprint\">npm install collisions</code>\n</code></pre>\n<blockquote>\n<p><strong>Note:</strong> This library uses the native ECMAScript Module syntax. Most environments support native modules, but the following exceptions apply:</p>\n<ul>\n<li>Node.js (9.2.0) requires the <a href=\"https://nodejs.org/api/esm.html\">--experimental-modules</a> flag</li>\n<li>Firefox (54) requires the <a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Browser_compatibility\">dom.moduleScripts.enabled</a> setting</li>\n</ul>\n<p>Bundling solutions such as <a href=\"https://webpack.js.org/\">Webpack</a> or <a href=\"https://rollupjs.org/\">Rollup.js</a> make native modules compatible with all environments.</p>\n</blockquote>\n<p><a name=\"anchor-documentation\"></a></p>\n<h1 id=\"documentation\">Documentation</h1><p>View the <a href=\"https://sinova.github.com/Collisions/\">documentation</a> (this README is also there).</p>\n<p><a name=\"anchor-demos\"></a></p>\n<h1 id=\"demos\">Demos</h1><ul>\n<li><a href=\"https://sinova.github.com/Collisions/demo/\">Tank</a></li>\n<li><a href=\"https://sinova.github.com/Collisions/demo/?stress\">Stress Test</a></li>\n</ul>\n<p><a name=\"anchor-usage\"></a></p>\n<h1 id=\"usage\">Usage</h1><pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">import Collisions from &apos;collisions&apos;;\n\n// Create the collision system\nconst system = new Collisions();\n\n// Create a Result object for collecting information about the collisions\nconst result = system.createResult();\n\n// Create the player (represented by a Circle)\nconst player = system.createCircle(100, 100, 10);\n\n// Create some walls (represented by Polygons)\nconst wall1 = system.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\nconst wall2 = system.createPolygon(200, 100, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 2.2);\nconst wall3 = system.createPolygon(400, 50, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 0.7);\n\n// Update the collision system\nsystem.update();\n\n// Get any potential collisions (this quickly rules out walls that have no chance of colliding with the player)\nconst potentials = player.potentials();\n\n// Loop through the potential wall collisions\nfor(const wall of potentials) {\n    // Test if the player collides with the wall\n    if(player.collides(wall, result)) {\n        // Push the player out of the wall\n        player.x -= result.overlap * result.overlap_x;\n        player.y -= result.overlap * result.overlap_y;\n    }\n}</code>\n</code></pre>\n<p><a name=\"anchor-getting-started\"></a></p>\n<h1 id=\"getting-started\">Getting Started</h1><p><a name=\"anchor-step-1\"></a></p>\n<h2 id=\"1--creating-a-collision-system\">1. Creating a Collision System</h2><p><strong>Collisions</strong> provides functions for performing both broad-phase and narrow-phase collision tests. In order to take full advantage of both phases, bodies need to be tracked within a collision system.</p>\n<p>Call the Collisions constructor to create a collision system.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">import Collisions from &apos;collisions&apos;;\n\nconst system = new Collisions();</code>\n</code></pre>\n<p><a name=\"anchor-step-2\"></a></p>\n<h2 id=\"2--creating--inserting--updating--and-removing-bodies\">2. Creating, Inserting, Updating, and Removing Bodies</h2><p><strong>Collisions</strong> supports the following body types:</p>\n<ul>\n<li><strong>Circle:</strong> A shape with infinite sides equidistant from a single point</li>\n<li><strong>Polygon:</strong> A shape made up of line segments</li>\n<li><strong>Point:</strong> A single coordinate</li>\n</ul>\n<p>To use them, import the desired body class, call its constructor, and insert it into the collision system using <code>insert()</code>.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">import {Collisions, Circle, Polygon, Point} from &apos;collisions&apos;;\n\nconst system = new Collisions();\n\nconst circle  = new Circle(100, 100, 10);\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst line    = new Polygon(200, 5, [[-30, 0], [10, 20]]);\nconst point   = new Point(10, 10);\n\nsystem.insert(circle)\nsystem.insert(polygon, line, point);</code>\n</code></pre>\n<p>Collision systems expose several convenience functions for creating bodies and inserting them into the system in one step. This also avoids having to import the different body classes.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">import Collisions from &apos;collisions&apos;;\n\nconst system = new Collisions();\n\nconst circle  = system.createCircle(100, 100, 10);\nconst polygon = system.createPolygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst line    = system.createPolygon(200, 5, [[-30, 0], [10, 20]]);\nconst point   = system.createPoint(10, 10);</code>\n</code></pre>\n<p>All bodies have <code>x</code> and <code>y</code> properties that can be manipulated. Additionally, <code>Circle</code> bodies have a <code>scale</code> property that can be used to scale their overall size. <code>Polygon</code> bodies have <code>scale_x</code> and <code>scale_y</code> properties to scale their points along a particular axis and an <code>angle</code> property to rotate their points around their current position (using radians).</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">circle.x     = 20;\ncircle.y     = 30;\ncircle.scale = 1.5;\n\npolygon.x       = 40;\npolygon.y       = 100;\npolygon.scale_x = 1.2;\npolygon.scale_y = 3.4;\npolygon.angle   = 1.2;</code>\n</code></pre>\n<p>And, of course, bodies can be removed when they are no longer needed.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">system.remove(polygon, point);\ncircle.remove();</code>\n</code></pre>\n<p><a name=\"anchor-step-3\"></a></p>\n<h2 id=\"3--updating-the-collision-system\">3. Updating the Collision System</h2><p>Collision systems need to be updated when the bodies within them change. This includes when bodies are inserted, removed, or when their properties change (e.g. position, angle, scaling, etc.). Updating a collision system is done by calling <code>update()</code> and should typically occur once per frame.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">system.update();</code>\n</code></pre>\n<p>The optimal time for updating a collision system is <strong>after</strong> its bodies have changed and <strong>before</strong> collisions are tested. For example, a game loop might use the following order of events:</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">function gameLoop() {\n    handleInput();\n    processGameLogic();\n\n    system.update();\n\n    handleCollisions();\n    render();\n}</code>\n</code></pre>\n<p><a name=\"anchor-step-4\"></a></p>\n<h2 id=\"4--testing-for-collisions\">4. Testing for Collisions</h2><p>When testing for collisions on a body, it is generally recommended that a broad-phase search be performed first by calling <code>potentials()</code> in order to quickly rule out bodies that are too far away to collide. <strong>Collisions</strong> uses a <a href=\"https://en.wikipedia.org/wiki/Bounding_volume_hierarchy\">Bounding Volume Hierarchy</a> (BVH) for its broad-phase search. Calling <code>potentials()</code> on a body traverses the BVH and builds a list of potential collision candidates.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">const potentials = polygon.potentials();</code>\n</code></pre>\n<p>Once a list of potential collisions is acquired, loop through them and perform a narrow-phase collision test using <code>collides()</code>. <strong>Collisions</strong> uses the <a href=\"https://en.wikipedia.org/wiki/Separating_axis_theorem\">Separating Axis Theorem</a> (SAT) for its narrow-phase collision tests.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">const potentials = polygon.potentials();\n\nfor(const body of potentials) {\n    if(polygon.collides(body)) {\n        console.log(&apos;Collision detected!&apos;);\n    }\n}</code>\n</code></pre>\n<p>It is also possible to skip the broad-phase search entirely and call <code>collides()</code> directly on two bodies.</p>\n<blockquote>\n<p><strong>Note:</strong> Skipping the broad-phase search is not recommended. When testing for collisions against large numbers of bodies, performing a broad-phase search using a BVH is <em>much</em> more efficient.</p>\n</blockquote>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">if(polygon.collides(line)) {\n    console.log(&apos;Collision detected!&apos;);\n}</code>\n</code></pre>\n<p><a name=\"anchor-step-5\"></a></p>\n<h2 id=\"5--getting-detailed-collision-information\">5. Getting Detailed Collision Information</h2><p>There is often a need for detailed information about a collision in order to react to it appropriately. This information is stored using a <code>Result</code> object. <code>Result</code> objects have several properties set on them when a collision occurs, all of which are described in the <a href=\"https://sinova.github.com/Collisions/\">documentation</a>.</p>\n<p>For convenience, there are several ways to create a <code>Result</code> object. <code>Result</code> objects do not belong to any particular collision system, so any of the following methods for creating one can be used interchangeably. This also means the same <code>Result</code> object can be used for collisions across multiple systems.</p>\n<blockquote>\n<p><strong>Note:</strong> It is highly recommended that <code>Result</code> objects be recycled when performing multiple collision tests in order to save memory. The following example creates multiple <code>Result</code> objects strictly as a demonstration.</p>\n</blockquote>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">import {Collisions, Result, Polygon} from &apos;collisions&apos;;\n\nconst system     = new Collisions();\nconst my_polygon = new Polygon(100, 100, 10);\n\nconst result1 = new Result();\nconst result2 = Collisions.createResult();\nconst result3 = system.createResult();\nconst result4 = Polygon.createResult();\nconst result5 = my_polygon.createResult();</code>\n</code></pre>\n<p>To use a <code>Result</code> object, pass it into <code>collides()</code>. If a collision occurs, it will be populated with information about the collision. Take note in the following example that the same <code>Result</code> object is being reused each iteration.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">const result     = system.createResult();\nconst potentials = point.potentials();\n\nfor(const body of potentials) {\n    if(point.collides(body, result)) {\n        console.log(result);\n    }\n}</code>\n</code></pre>\n<p><a name=\"anchor-step-6\"></a></p>\n<h2 id=\"6--negating-overlap\">6. Negating Overlap</h2><p>A common use-case in collision detection is negating overlap when a collision occurs (such as when a player hits a wall). This can be done using the collision information in a <code>Result</code> object (see <a href=\"#anchor-getting-detailed-collision-information\">Getting Detailed Collision Information</a>).</p>\n<p>The three most useful properties on a <code>Result</code> object are <code>overlap</code>, <code>overlap_x</code>, and <code>overlap_y</code>. Together, these values describe how much and in what direction the source body is overlapping the target body. More specifically, <code>overlap_x</code> and <code>overlap_y</code> describe the direction vector, and <code>overlap</code> describes the magnitude of that vector.</p>\n<p>These values can be used to &quot;push&quot; one body out of another using the minimum distance required. More simply, subtracting this vector from the source body&apos;s position will cause the bodies to no longer collide. Here&apos;s an example:</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">if(player.collides(wall, result)) {\n    player.x -= result.overlap * result.overlap_x;\n    player.y -= result.overlap * result.overlap_y;\n}</code>\n</code></pre>\n<p><a name=\"anchor-lines\"></a></p>\n<h1 id=\"lines\">Lines</h1><p>Creating a line is simply a matter of creating a single-sided polygon (i.e. a polygon with only two coordinate pairs).</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">const line = new Polygon(200, 5, [[-30, 0], [10, 20]]);</code>\n</code></pre>\n<p><a name=\"anchor-concave-polygons\"></a></p>\n<h1 id=\"concave-polygons\">Concave Polygons</h1><p><strong>Collisions</strong> uses the <a href=\"https://en.wikipedia.org/wiki/Separating_axis_theorem\">Separating Axis Theorem</a> (SAT) for its narrow-phase collision tests. One caveat to SAT is that it only works properly on convex bodies. However, concave polygons can be &quot;faked&quot; by using a series of <a href=\"#anchor-lines\">Lines</a>. Keep in mind that a polygon drawn using <a href=\"#anchor-lines\">Lines</a> is &quot;hollow&quot;.</p>\n<p>Handling true concave polygons requires breaking them down into their component convex polygons (Convex Decomposition) and testing them for collisions individually. There are plans to integrate this functionality into the library in the future, but for now, check out <a href=\"https://github.com/schteppe/poly-decomp.js\">poly-decomp.js</a>.</p>\n<p><a name=\"anchor-rendering\"></a></p>\n<h1 id=\"rendering\">Rendering</h1><p>For debugging, it is often useful to be able to visualize the collision bodies. All of the bodies in a Collision system can be drawn to a <code>&lt;canvas&gt;</code> element by calling <code>draw()</code> and passing in the canvas&apos; 2D context.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">const canvas  = document.createElement(&apos;canvas&apos;);\nconst context = canvas.getContext(&apos;2d&apos;);\n\n// ...\ncontext.strokeStyle = &apos;#FFFFFF&apos;;\ncontext.beginPath();\n\nsystem.draw(context);\n\ncontext.stroke();</code>\n</code></pre>\n<p>Bodies can be individually drawn as well.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">context.strokeStyle = &apos;#FFFFFF&apos;;\ncontext.beginPath();\n\npolygon.draw(context);\ncircle.draw(context);\n\ncontext.stroke();</code>\n</code></pre>\n<p>The BVH can also be drawn to help test <a href=\"#anchor-bounding-volume-padding\">Bounding Volume Padding</a>.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">context.strokeStyle = &apos;#FFFFFF&apos;;\ncontext.beginPath();\n\nsystem.drawBVH(context);\n\ncontext.stroke();</code>\n</code></pre>\n<p><a name=\"anchor-bounding-volume-padding\"></a></p>\n<h1 id=\"bounding-volume-padding\">Bounding Volume Padding</h1><p>When bodies move around within a collision system, the internal BVH has to remove and reinsert the body in order to determine where it belongs in the hierarchy. This is one of the most costly operations in maintaining a BVH. In general, most projects will never see a performance issue from this unless they are dealing with thousands of moving bodies at once. In these cases, it can <em>sometimes</em> be beneficial to &quot;pad&quot; the bounding volumes of each body so that the BVH doesn&apos;t need to remove and reinsert bodies that haven&apos;t changed position too much. In other words, padding the bounding volume allows &quot;breathing room&quot; for the body within it to move around without being flagged for an update.</p>\n<p>The tradeoff is that the slightly larger bounding volumes can trigger more false-positives during the broad-phase <code>potentials()</code> search. While the narrow phase will ultimately rule these out using Axis Aligned Bounding Box tests, putting too much padding on bodies that are crowded can lead to too many false positives and a diminishing return in performance. It is up to the developer to determine how much padding each body will need based on how much it can move within a single frame and how crowded the bodies in the system are.</p>\n<p>Padding can be added to a body when instantiating it (see the <a href=\"https://sinova.github.com/Collisions/\">documentation</a> for each body) or at any time by changing its <code>padding</code> property.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">const padding = 5;\nconst circle  = new Circle(100, 100, 10, 1, padding);\n\n// ...\n\ncircle.padding = 10;</code>\n</code></pre>\n<p><a name=\"anchor-only-using-sat\"></a></p>\n<h1 id=\"only-using-sat\">Only using SAT</h1><p>Some projects may only have a need to perform SAT collision tests without broad-phase searching. This can be achieved by avoiding collision systems altogether and only using the <code>collides()</code> function.</p>\n<pre><code class=\"lang-JavaScript\"><code class=\"source-code prettyprint\">import {Circle, Polygon, Result} from &apos;collisions&apos;;\n\nconst circle  = new Circle(45, 45, 20);\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\nconst result  = new Result();\n\nif(circle.collides(polygon, result)) {\n    console.log(result);\n}</code>\n</code></pre>\n<p><a name=\"anchor-faq\"></a></p>\n<h1 id=\"faq\">FAQ</h1><h2 id=\"why-shouldn--39-t-i-just-use-a-physics-engine-\">Why shouldn&apos;t I just use a physics engine?</h2><p>Projects requiring physics are encouraged to use one of the several physics engines out there (e.g. <a href=\"https://github.com/liabru/matter-js\">Matter.js</a>, <a href=\"https://github.com/shakiba/planck.js\">Planck.js</a>). However, many projects end up using physics engines solely for collision detection, and developers often find themselves having to work around some of the assumptions that these engines make (gravity, velocity, friction, etc.). <strong>Collisions</strong> was created to provide robust collision detection and nothing more. In fact, a physics engine could easily be written with <strong>Collisions</strong> at its core.</p>\n<h2 id=\"why-does-the-source-code-seem-to-have-quite-a-bit-of-copy-paste-\">Why does the source code seem to have quite a bit of copy/paste?</h2><p><strong>Collisions</strong> was written with performance as its primary focus. Conscious decisions were made to sacrifice readability in order to avoid the overhead of unnecessary function calls or property lookups.</p>\n<h2 id=\"sometimes-bodies-can--quot-squeeze-quot--between-two-other-bodies--what--39-s-going-on-\">Sometimes bodies can &quot;squeeze&quot; between two other bodies. What&apos;s going on?</h2><p>This isn&apos;t caused by faulty collisions, but rather how a project handles its collision responses. There are several ways to go about responding to collisions, the most common of which is to loop through all bodies, find their potential collisions, and negate any overlaps that are found one at a time. Since the overlaps are negated one at a time, the last negation takes precedence and can cause the body to be pushed into another body.</p>\n<p>One workaround is to resolve each collision, update the collision system, and repeat until no collisions are found. Keep in mind that this can potentially lead to infinite loops if the two colliding bodies equally negate each other. Another solution is to collect all overlaps and combine them into a single resultant vector and then push the body out, but this can get rather complicated.</p>\n<p>There is no perfect solution. How collisions are handled depends on the project.</p>\n</div>\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/index.json",
    "content": "[\n  {\n    \"__docId__\": 1,\n    \"kind\": \"external\",\n    \"name\": \"Infinity\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Infinity\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 2,\n    \"kind\": \"external\",\n    \"name\": \"NaN\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~NaN\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 3,\n    \"kind\": \"external\",\n    \"name\": \"undefined\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~undefined\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 4,\n    \"kind\": \"external\",\n    \"name\": \"null\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~null\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 5,\n    \"kind\": \"external\",\n    \"name\": \"Object\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Object\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 6,\n    \"kind\": \"external\",\n    \"name\": \"object\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~object\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 7,\n    \"kind\": \"external\",\n    \"name\": \"Function\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Function\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 8,\n    \"kind\": \"external\",\n    \"name\": \"function\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~function\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 9,\n    \"kind\": \"external\",\n    \"name\": \"Boolean\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Boolean\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 10,\n    \"kind\": \"external\",\n    \"name\": \"boolean\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~boolean\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 11,\n    \"kind\": \"external\",\n    \"name\": \"Symbol\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Symbol\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 12,\n    \"kind\": \"external\",\n    \"name\": \"Error\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Error\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 13,\n    \"kind\": \"external\",\n    \"name\": \"EvalError\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~EvalError\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 14,\n    \"kind\": \"external\",\n    \"name\": \"InternalError\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~InternalError\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 15,\n    \"kind\": \"external\",\n    \"name\": \"RangeError\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~RangeError\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 16,\n    \"kind\": \"external\",\n    \"name\": \"ReferenceError\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~ReferenceError\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 17,\n    \"kind\": \"external\",\n    \"name\": \"SyntaxError\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~SyntaxError\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 18,\n    \"kind\": \"external\",\n    \"name\": \"TypeError\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~TypeError\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 19,\n    \"kind\": \"external\",\n    \"name\": \"URIError\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~URIError\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 20,\n    \"kind\": \"external\",\n    \"name\": \"Number\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Number\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 21,\n    \"kind\": \"external\",\n    \"name\": \"number\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~number\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 22,\n    \"kind\": \"external\",\n    \"name\": \"Date\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Date\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 23,\n    \"kind\": \"external\",\n    \"name\": \"String\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~String\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 24,\n    \"kind\": \"external\",\n    \"name\": \"string\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~string\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 25,\n    \"kind\": \"external\",\n    \"name\": \"RegExp\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~RegExp\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 26,\n    \"kind\": \"external\",\n    \"name\": \"Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 27,\n    \"kind\": \"external\",\n    \"name\": \"Int8Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Int8Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 28,\n    \"kind\": \"external\",\n    \"name\": \"Uint8Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Uint8Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 29,\n    \"kind\": \"external\",\n    \"name\": \"Uint8ClampedArray\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Uint8ClampedArray\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 30,\n    \"kind\": \"external\",\n    \"name\": \"Int16Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Int16Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 31,\n    \"kind\": \"external\",\n    \"name\": \"Uint16Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Uint16Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 32,\n    \"kind\": \"external\",\n    \"name\": \"Int32Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Int32Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 33,\n    \"kind\": \"external\",\n    \"name\": \"Uint32Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Uint32Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 34,\n    \"kind\": \"external\",\n    \"name\": \"Float32Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Float32Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 35,\n    \"kind\": \"external\",\n    \"name\": \"Float64Array\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Float64Array\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 36,\n    \"kind\": \"external\",\n    \"name\": \"Map\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Map\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 37,\n    \"kind\": \"external\",\n    \"name\": \"Set\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Set\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 38,\n    \"kind\": \"external\",\n    \"name\": \"WeakMap\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~WeakMap\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 39,\n    \"kind\": \"external\",\n    \"name\": \"WeakSet\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~WeakSet\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 40,\n    \"kind\": \"external\",\n    \"name\": \"ArrayBuffer\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~ArrayBuffer\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 41,\n    \"kind\": \"external\",\n    \"name\": \"DataView\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~DataView\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 42,\n    \"kind\": \"external\",\n    \"name\": \"JSON\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~JSON\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 43,\n    \"kind\": \"external\",\n    \"name\": \"Promise\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Promise\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 44,\n    \"kind\": \"external\",\n    \"name\": \"Generator\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Generator\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 45,\n    \"kind\": \"external\",\n    \"name\": \"GeneratorFunction\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~GeneratorFunction\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 46,\n    \"kind\": \"external\",\n    \"name\": \"Reflect\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Reflect\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 47,\n    \"kind\": \"external\",\n    \"name\": \"Proxy\",\n    \"externalLink\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\",\n    \"memberof\": \"src/.external-ecmascript.js\",\n    \"static\": true,\n    \"longname\": \"src/.external-ecmascript.js~Proxy\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"builtinExternal\": true\n  },\n  {\n    \"__docId__\": 48,\n    \"kind\": \"file\",\n    \"name\": \"src/Collisions.mjs\",\n    \"content\": \"import BVH     from './modules/BVH.mjs';\\nimport Circle  from './modules/Circle.mjs';\\nimport Polygon from './modules/Polygon.mjs';\\nimport Point   from './modules/Point.mjs';\\nimport Result  from './modules/Result.mjs';\\nimport SAT     from './modules/SAT.mjs';\\n\\n/**\\n * A collision system used to track bodies in order to improve collision detection performance\\n * @class\\n */\\nclass Collisions {\\n\\t/**\\n\\t * @constructor\\n\\t */\\n\\tconstructor() {\\n\\t\\t/** @private */\\n\\t\\tthis._bvh = new BVH();\\n\\t}\\n\\n\\t/**\\n\\t * Creates a {@link Circle} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Circle}\\n\\t */\\n\\tcreateCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\\n\\t\\tconst body = new Circle(x, y, radius, scale, padding);\\n\\n\\t\\tthis._bvh.insert(body);\\n\\n\\t\\treturn body;\\n\\t}\\n\\n\\t/**\\n\\t * Creates a {@link Polygon} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Polygon}\\n\\t */\\n\\tcreatePolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\\n\\t\\tconst body = new Polygon(x, y, points, angle, scale_x, scale_y, padding);\\n\\n\\t\\tthis._bvh.insert(body);\\n\\n\\t\\treturn body;\\n\\t}\\n\\n\\t/**\\n\\t * Creates a {@link Point} and inserts it into the collision system\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t * @returns {Point}\\n\\t */\\n\\tcreatePoint(x = 0, y = 0, padding = 0) {\\n\\t\\tconst body = new Point(x, y, padding);\\n\\n\\t\\tthis._bvh.insert(body);\\n\\n\\t\\treturn body;\\n\\t}\\n\\n\\t/**\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t */\\n\\tcreateResult() {\\n\\t\\treturn new Result();\\n\\t}\\n\\n\\t/**\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t */\\n\\tstatic createResult() {\\n\\t\\treturn new Result();\\n\\t}\\n\\n\\t/**\\n\\t * Inserts bodies into the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t */\\n\\tinsert(...bodies) {\\n\\t\\tfor(const body of bodies) {\\n\\t\\t\\tthis._bvh.insert(body, false);\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t}\\n\\n\\t/**\\n\\t * Removes bodies from the collision system\\n\\t * @param {...Circle|...Polygon|...Point} bodies\\n\\t */\\n\\tremove(...bodies) {\\n\\t\\tfor(const body of bodies) {\\n\\t\\t\\tthis._bvh.remove(body, false);\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t}\\n\\n\\t/**\\n\\t * Updates the collision system. This should be called before any collisions are tested.\\n\\t */\\n\\tupdate() {\\n\\t\\tthis._bvh.update();\\n\\n\\t\\treturn this;\\n\\t}\\n\\n\\t/**\\n\\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t */\\n\\tdraw(context) {\\n\\t\\treturn this._bvh.draw(context);\\n\\t}\\n\\n\\t/**\\n\\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t */\\n\\tdrawBVH(context) {\\n\\t\\treturn this._bvh.drawBVH(context);\\n\\t}\\n\\n\\t/**\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\\n\\t * @returns {Array<Body>}\\n\\t */\\n\\tpotentials(body) {\\n\\t\\treturn this._bvh.potentials(body);\\n\\t}\\n\\n\\t/**\\n\\t * Determines if two bodies are colliding\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t */\\n\\tcollides(source, target, result = null, aabb = true) {\\n\\t\\treturn SAT(source, target, result, aabb);\\n\\t}\\n};\\n\\nexport {\\n\\tCollisions as default,\\n\\tCollisions,\\n\\tResult,\\n\\tCircle,\\n\\tPolygon,\\n\\tPoint,\\n};\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/Collisions.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 49,\n    \"kind\": \"class\",\n    \"name\": \"Collisions\",\n    \"memberof\": \"src/Collisions.mjs\",\n    \"static\": true,\n    \"longname\": \"src/Collisions.mjs~Collisions\",\n    \"access\": \"public\",\n    \"export\": true,\n    \"importPath\": \"collisions\",\n    \"importStyle\": \"{Collisions}\",\n    \"description\": \"A collision system used to track bodies in order to improve collision detection performance\",\n    \"lineNumber\": 12,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false\n  },\n  {\n    \"__docId__\": 50,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 16,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 51,\n    \"kind\": \"member\",\n    \"name\": \"_bvh\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#_bvh\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 18,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 52,\n    \"kind\": \"method\",\n    \"name\": \"createCircle\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#createCircle\",\n    \"access\": \"public\",\n    \"description\": \"Creates a {@link Circle} and inserts it into the collision system\",\n    \"lineNumber\": 30,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Circle}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"x\",\n        \"description\": \"The starting X coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"y\",\n        \"description\": \"The starting Y coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"radius\",\n        \"description\": \"The radius\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 1\",\n        \"defaultRaw\": 1,\n        \"name\": \"scale\",\n        \"description\": \"The scale\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"padding\",\n        \"description\": \"The amount to pad the bounding volume when testing for potential collisions\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Circle\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 53,\n    \"kind\": \"method\",\n    \"name\": \"createPolygon\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#createPolygon\",\n    \"access\": \"public\",\n    \"description\": \"Creates a {@link Polygon} and inserts it into the collision system\",\n    \"lineNumber\": 49,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Polygon}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"x\",\n        \"description\": \"The starting X coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"y\",\n        \"description\": \"The starting Y coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Array<Number[]>\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" []\",\n        \"defaultRaw\": [],\n        \"name\": \"points\",\n        \"description\": \"An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"angle\",\n        \"description\": \"The starting rotation in radians\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 1\",\n        \"defaultRaw\": 1,\n        \"name\": \"scale_x\",\n        \"description\": \"The starting scale along the X axis\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 1\",\n        \"defaultRaw\": 1,\n        \"name\": \"scale_y\",\n        \"description\": \"The starting scale long the Y axis\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"padding\",\n        \"description\": \"The amount to pad the bounding volume when testing for potential collisions\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Polygon\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 54,\n    \"kind\": \"method\",\n    \"name\": \"createPoint\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#createPoint\",\n    \"access\": \"public\",\n    \"description\": \"Creates a {@link Point} and inserts it into the collision system\",\n    \"lineNumber\": 64,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Point}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"x\",\n        \"description\": \"The starting X coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"y\",\n        \"description\": \"The starting Y coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"padding\",\n        \"description\": \"The amount to pad the bounding volume when testing for potential collisions\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Point\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 55,\n    \"kind\": \"method\",\n    \"name\": \"createResult\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#createResult\",\n    \"access\": \"public\",\n    \"description\": \"Creates a {@link Result} used to collect the detailed results of a collision test\",\n    \"lineNumber\": 75\n  },\n  {\n    \"__docId__\": 56,\n    \"kind\": \"method\",\n    \"name\": \"createResult\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/Collisions.mjs~Collisions.createResult\",\n    \"access\": \"public\",\n    \"description\": \"Creates a Result used to collect the detailed results of a collision test\",\n    \"lineNumber\": 82\n  },\n  {\n    \"__docId__\": 57,\n    \"kind\": \"method\",\n    \"name\": \"insert\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#insert\",\n    \"access\": \"public\",\n    \"description\": \"Inserts bodies into the collision system\",\n    \"lineNumber\": 90,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"...Circle\",\n          \"...Polygon\",\n          \"...Point\"\n        ],\n        \"spread\": true,\n        \"optional\": false,\n        \"name\": \"bodies\",\n        \"description\": \"\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 58,\n    \"kind\": \"method\",\n    \"name\": \"remove\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#remove\",\n    \"access\": \"public\",\n    \"description\": \"Removes bodies from the collision system\",\n    \"lineNumber\": 102,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"...Circle\",\n          \"...Polygon\",\n          \"...Point\"\n        ],\n        \"spread\": true,\n        \"optional\": false,\n        \"name\": \"bodies\",\n        \"description\": \"\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 59,\n    \"kind\": \"method\",\n    \"name\": \"update\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#update\",\n    \"access\": \"public\",\n    \"description\": \"Updates the collision system. This should be called before any collisions are tested.\",\n    \"lineNumber\": 113\n  },\n  {\n    \"__docId__\": 60,\n    \"kind\": \"method\",\n    \"name\": \"draw\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#draw\",\n    \"access\": \"public\",\n    \"description\": \"Draws the bodies within the system to a CanvasRenderingContext2D's current path\",\n    \"lineNumber\": 123,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"CanvasRenderingContext2D\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"context\",\n        \"description\": \"The context to draw to\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 61,\n    \"kind\": \"method\",\n    \"name\": \"drawBVH\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#drawBVH\",\n    \"access\": \"public\",\n    \"description\": \"Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\",\n    \"lineNumber\": 131,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"CanvasRenderingContext2D\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"context\",\n        \"description\": \"The context to draw to\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 62,\n    \"kind\": \"method\",\n    \"name\": \"potentials\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#potentials\",\n    \"access\": \"public\",\n    \"description\": \"Returns a list of potential collisions for a body\",\n    \"lineNumber\": 140,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Array<Body>}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"body\",\n        \"description\": \"The body to test for potential collisions against\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Array<Body>\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 63,\n    \"kind\": \"method\",\n    \"name\": \"collides\",\n    \"memberof\": \"src/Collisions.mjs~Collisions\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/Collisions.mjs~Collisions#collides\",\n    \"access\": \"public\",\n    \"description\": \"Determines if two bodies are colliding\",\n    \"lineNumber\": 151,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Boolean}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"target\",\n        \"description\": \"The target body to test against\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Result\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" null\",\n        \"defaultRaw\": null,\n        \"name\": \"result\",\n        \"description\": \"A Result object on which to store information about the collision\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Boolean\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" true\",\n        \"defaultRaw\": true,\n        \"name\": \"aabb\",\n        \"description\": \"Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 64,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/BVH.mjs\",\n    \"content\": \"import BVHBranch from './BVHBranch.mjs';\\n\\n/**\\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\\n * @class\\n * @private\\n */\\nexport default class BVH {\\n\\t/**\\n\\t * @constructor\\n\\t */\\n\\tconstructor() {\\n\\t\\t/** @private */\\n\\t\\tthis._hierarchy = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bodies = [];\\n\\n\\t\\t/** @private */\\n\\t\\tthis._dirty_branches = [];\\n\\t}\\n\\n\\t/**\\n\\t * Inserts a body into the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to insert\\n\\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\\n\\t */\\n\\tinsert(body, updating = false) {\\n\\t\\tif(!updating) {\\n\\t\\t\\tconst bvh = body._bvh;\\n\\n\\t\\t\\tif(bvh && bvh !== this) {\\n\\t\\t\\t\\tthrow new Error('Body belongs to another collision system');\\n\\t\\t\\t}\\n\\n\\t\\t\\tbody._bvh = this;\\n\\t\\t\\tthis._bodies.push(body);\\n\\t\\t}\\n\\n\\t\\tconst polygon = body._polygon;\\n\\t\\tconst body_x  = body.x;\\n\\t\\tconst body_y  = body.y;\\n\\n\\t\\tif(polygon) {\\n\\t\\t\\tif(\\n\\t\\t\\t\\tbody._dirty_coords ||\\n\\t\\t\\t\\tbody.x       !== body._x ||\\n\\t\\t\\t\\tbody.y       !== body._y ||\\n\\t\\t\\t\\tbody.angle   !== body._angle ||\\n\\t\\t\\t\\tbody.scale_x !== body._scale_x ||\\n\\t\\t\\t\\tbody.scale_y !== body._scale_y\\n\\t\\t\\t) {\\n\\t\\t\\t\\tbody._calculateCoords();\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tconst padding    = body._bvh_padding;\\n\\t\\tconst radius     = polygon ? 0 : body.radius * body.scale;\\n\\t\\tconst body_min_x = (polygon ? body._min_x : body_x - radius) - padding;\\n\\t\\tconst body_min_y = (polygon ? body._min_y : body_y - radius) - padding;\\n\\t\\tconst body_max_x = (polygon ? body._max_x : body_x + radius) + padding;\\n\\t\\tconst body_max_y = (polygon ? body._max_y : body_y + radius) + padding;\\n\\n\\t\\tbody._bvh_min_x = body_min_x;\\n\\t\\tbody._bvh_min_y = body_min_y;\\n\\t\\tbody._bvh_max_x = body_max_x;\\n\\t\\tbody._bvh_max_y = body_max_y;\\n\\n\\t\\tlet current = this._hierarchy;\\n\\t\\tlet sort    = 0;\\n\\n\\t\\tif(!current) {\\n\\t\\t\\tthis._hierarchy = body;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\twhile(true) {\\n\\t\\t\\t\\t// Branch\\n\\t\\t\\t\\tif(current._bvh_branch) {\\n\\t\\t\\t\\t\\tconst left            = current._bvh_left;\\n\\t\\t\\t\\t\\tconst left_min_y      = left._bvh_min_y;\\n\\t\\t\\t\\t\\tconst left_max_x      = left._bvh_max_x;\\n\\t\\t\\t\\t\\tconst left_max_y      = left._bvh_max_y;\\n\\t\\t\\t\\t\\tconst left_new_min_x  = body_min_x < left._bvh_min_x ? body_min_x : left._bvh_min_x;\\n\\t\\t\\t\\t\\tconst left_new_min_y  = body_min_y < left_min_y ? body_min_y : left_min_y;\\n\\t\\t\\t\\t\\tconst left_new_max_x  = body_max_x > left_max_x ? body_max_x : left_max_x;\\n\\t\\t\\t\\t\\tconst left_new_max_y  = body_max_y > left_max_y ? body_max_y : left_max_y;\\n\\t\\t\\t\\t\\tconst left_volume     = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y);\\n\\t\\t\\t\\t\\tconst left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y);\\n\\t\\t\\t\\t\\tconst left_difference = left_new_volume - left_volume;\\n\\n\\t\\t\\t\\t\\tconst right            = current._bvh_right;\\n\\t\\t\\t\\t\\tconst right_min_x      = right._bvh_min_x;\\n\\t\\t\\t\\t\\tconst right_min_y      = right._bvh_min_y;\\n\\t\\t\\t\\t\\tconst right_max_x      = right._bvh_max_x;\\n\\t\\t\\t\\t\\tconst right_max_y      = right._bvh_max_y;\\n\\t\\t\\t\\t\\tconst right_new_min_x  = body_min_x < right_min_x ? body_min_x : right_min_x;\\n\\t\\t\\t\\t\\tconst right_new_min_y  = body_min_y < right_min_y ? body_min_y : right_min_y;\\n\\t\\t\\t\\t\\tconst right_new_max_x  = body_max_x > right_max_x ? body_max_x : right_max_x;\\n\\t\\t\\t\\t\\tconst right_new_max_y  = body_max_y > right_max_y ? body_max_y : right_max_y;\\n\\t\\t\\t\\t\\tconst right_volume     = (right_max_x - right_min_x) * (right_max_y - right_min_y);\\n\\t\\t\\t\\t\\tconst right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y);\\n\\t\\t\\t\\t\\tconst right_difference = right_new_volume - right_volume;\\n\\n\\t\\t\\t\\t\\tcurrent._bvh_sort  = sort++;\\n\\t\\t\\t\\t\\tcurrent._bvh_min_x = left_new_min_x < right_new_min_x ? left_new_min_x : right_new_min_x;\\n\\t\\t\\t\\t\\tcurrent._bvh_min_y = left_new_min_y < right_new_min_y ? left_new_min_y : right_new_min_y;\\n\\t\\t\\t\\t\\tcurrent._bvh_max_x = left_new_max_x > right_new_max_x ? left_new_max_x : right_new_max_x;\\n\\t\\t\\t\\t\\tcurrent._bvh_max_y = left_new_max_y > right_new_max_y ? left_new_max_y : right_new_max_y;\\n\\n\\t\\t\\t\\t\\tcurrent = left_difference <= right_difference ? left : right;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Leaf\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tconst grandparent  = current._bvh_parent;\\n\\t\\t\\t\\t\\tconst parent_min_x = current._bvh_min_x;\\n\\t\\t\\t\\t\\tconst parent_min_y = current._bvh_min_y;\\n\\t\\t\\t\\t\\tconst parent_max_x = current._bvh_max_x;\\n\\t\\t\\t\\t\\tconst parent_max_y = current._bvh_max_y;\\n\\t\\t\\t\\t\\tconst new_parent   = current._bvh_parent = body._bvh_parent = BVHBranch.getBranch();\\n\\n\\t\\t\\t\\t\\tnew_parent._bvh_parent = grandparent;\\n\\t\\t\\t\\t\\tnew_parent._bvh_left   = current;\\n\\t\\t\\t\\t\\tnew_parent._bvh_right  = body;\\n\\t\\t\\t\\t\\tnew_parent._bvh_sort   = sort++;\\n\\t\\t\\t\\t\\tnew_parent._bvh_min_x  = body_min_x < parent_min_x ? body_min_x : parent_min_x;\\n\\t\\t\\t\\t\\tnew_parent._bvh_min_y  = body_min_y < parent_min_y ? body_min_y : parent_min_y;\\n\\t\\t\\t\\t\\tnew_parent._bvh_max_x  = body_max_x > parent_max_x ? body_max_x : parent_max_x;\\n\\t\\t\\t\\t\\tnew_parent._bvh_max_y  = body_max_y > parent_max_y ? body_max_y : parent_max_y;\\n\\n\\t\\t\\t\\t\\tif(!grandparent) {\\n\\t\\t\\t\\t\\t\\tthis._hierarchy = new_parent;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if(grandparent._bvh_left === current) {\\n\\t\\t\\t\\t\\t\\tgrandparent._bvh_left = new_parent;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\tgrandparent._bvh_right = new_parent;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * Removes a body from the BVH\\n\\t * @param {Circle|Polygon|Point} body The body to remove\\n\\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\\n\\t */\\n\\tremove(body, updating = false) {\\n\\t\\tif(!updating) {\\n\\t\\t\\tconst bvh = body._bvh;\\n\\n\\t\\t\\tif(bvh && bvh !== this) {\\n\\t\\t\\t\\tthrow new Error('Body belongs to another collision system');\\n\\t\\t\\t}\\n\\n\\t\\t\\tbody._bvh = null;\\n\\t\\t\\tthis._bodies.splice(this._bodies.indexOf(body), 1);\\n\\t\\t}\\n\\n\\t\\tif(this._hierarchy === body) {\\n\\t\\t\\tthis._hierarchy = null;\\n\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tconst parent       = body._bvh_parent;\\n\\t\\tconst grandparent  = parent._bvh_parent;\\n\\t\\tconst parent_left  = parent._bvh_left;\\n\\t\\tconst sibling      = parent_left === body ? parent._bvh_right : parent_left;\\n\\n\\t\\tsibling._bvh_parent = grandparent;\\n\\n\\t\\tif(sibling._bvh_branch) {\\n\\t\\t\\tsibling._bvh_sort = parent._bvh_sort;\\n\\t\\t}\\n\\n\\t\\tif(grandparent) {\\n\\t\\t\\tif(grandparent._bvh_left === parent) {\\n\\t\\t\\t\\tgrandparent._bvh_left = sibling;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tgrandparent._bvh_right = sibling;\\n\\t\\t\\t}\\n\\n\\t\\t\\tlet branch = grandparent;\\n\\n\\t\\t\\twhile(branch) {\\n\\t\\t\\t\\tconst left       = branch._bvh_left;\\n\\t\\t\\t\\tconst left_min_x = left._bvh_min_x;\\n\\t\\t\\t\\tconst left_min_y = left._bvh_min_y;\\n\\t\\t\\t\\tconst left_max_x = left._bvh_max_x;\\n\\t\\t\\t\\tconst left_max_y = left._bvh_max_y;\\n\\n\\t\\t\\t\\tconst right       = branch._bvh_right;\\n\\t\\t\\t\\tconst right_min_x = right._bvh_min_x;\\n\\t\\t\\t\\tconst right_min_y = right._bvh_min_y;\\n\\t\\t\\t\\tconst right_max_x = right._bvh_max_x;\\n\\t\\t\\t\\tconst right_max_y = right._bvh_max_y;\\n\\n\\t\\t\\t\\tbranch._bvh_min_x = left_min_x < right_min_x ? left_min_x : right_min_x;\\n\\t\\t\\t\\tbranch._bvh_min_y = left_min_y < right_min_y ? left_min_y : right_min_y;\\n\\t\\t\\t\\tbranch._bvh_max_x = left_max_x > right_max_x ? left_max_x : right_max_x;\\n\\t\\t\\t\\tbranch._bvh_max_y = left_max_y > right_max_y ? left_max_y : right_max_y;\\n\\n\\t\\t\\t\\tbranch = branch._bvh_parent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tthis._hierarchy = sibling;\\n\\t\\t}\\n\\n\\t\\tBVHBranch.releaseBranch(parent);\\n\\t}\\n\\n\\t/**\\n\\t * Updates the BVH. Moved bodies are removed/inserted.\\n\\t */\\n\\tupdate() {\\n\\t\\tconst bodies = this._bodies;\\n\\t\\tconst count  = bodies.length;\\n\\n\\t\\tfor(let i = 0; i < count; ++i) {\\n\\t\\t\\tconst body = bodies[i];\\n\\n\\t\\t\\tlet update = false;\\n\\n\\t\\t\\tif(!update && body.padding !== body._bvh_padding) {\\n\\t\\t\\t\\tbody._bvh_padding = body.padding;\\n\\t\\t\\t\\tupdate = true;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif(!update) {\\n\\t\\t\\t\\tconst polygon = body._polygon;\\n\\n\\t\\t\\t\\tif(polygon) {\\n\\t\\t\\t\\t\\tif(\\n\\t\\t\\t\\t\\t\\tbody._dirty_coords ||\\n\\t\\t\\t\\t\\t\\tbody.x       !== body._x ||\\n\\t\\t\\t\\t\\t\\tbody.y       !== body._y ||\\n\\t\\t\\t\\t\\t\\tbody.angle   !== body._angle ||\\n\\t\\t\\t\\t\\t\\tbody.scale_x !== body._scale_x ||\\n\\t\\t\\t\\t\\t\\tbody.scale_y !== body._scale_y\\n\\t\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\t\\tbody._calculateCoords();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tconst x      = body.x;\\n\\t\\t\\t\\tconst y      = body.y;\\n\\t\\t\\t\\tconst radius = polygon ? 0 : body.radius * body.scale;\\n\\t\\t\\t\\tconst min_x  = polygon ? body._min_x : x - radius;\\n\\t\\t\\t\\tconst min_y  = polygon ? body._min_y : y - radius;\\n\\t\\t\\t\\tconst max_x  = polygon ? body._max_x : x + radius;\\n\\t\\t\\t\\tconst max_y  = polygon ? body._max_y : y + radius;\\n\\n\\t\\t\\t\\tupdate = min_x < body._bvh_min_x || min_y < body._bvh_min_y || max_x > body._bvh_max_x || max_y > body._bvh_max_y;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif(update) {\\n\\t\\t\\t\\tthis.remove(body, true);\\n\\t\\t\\t\\tthis.insert(body, true);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * Returns a list of potential collisions for a body\\n\\t * @param {Circle|Polygon|Point} body The body to test\\n\\t * @returns {Array<Body>}\\n\\t */\\n\\tpotentials(body) {\\n\\t\\tconst results = [];\\n\\t\\tconst min_x   = body._bvh_min_x;\\n\\t\\tconst min_y   = body._bvh_min_y;\\n\\t\\tconst max_x   = body._bvh_max_x;\\n\\t\\tconst max_y   = body._bvh_max_y;\\n\\n\\t\\tlet current       = this._hierarchy;\\n\\t\\tlet traverse_left = true;\\n\\n\\t\\tif(!current || !current._bvh_branch) {\\n\\t\\t\\treturn results;\\n\\t\\t}\\n\\n\\t\\twhile(current) {\\n\\t\\t\\tif(traverse_left) {\\n\\t\\t\\t\\ttraverse_left = false;\\n\\n\\t\\t\\t\\tlet left = current._bvh_branch ? current._bvh_left : null;\\n\\n\\t\\t\\t\\twhile(\\n\\t\\t\\t\\t\\tleft &&\\n\\t\\t\\t\\t\\tleft._bvh_max_x >= min_x &&\\n\\t\\t\\t\\t\\tleft._bvh_max_y >= min_y &&\\n\\t\\t\\t\\t\\tleft._bvh_min_x <= max_x &&\\n\\t\\t\\t\\t\\tleft._bvh_min_y <= max_y\\n\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\tcurrent = left;\\n\\t\\t\\t\\t\\tleft    = current._bvh_branch ? current._bvh_left : null;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tconst branch = current._bvh_branch;\\n\\t\\t\\tconst right  = branch ? current._bvh_right : null;\\n\\n\\t\\t\\tif(\\n\\t\\t\\t\\tright &&\\n\\t\\t\\t\\tright._bvh_max_x > min_x &&\\n\\t\\t\\t\\tright._bvh_max_y > min_y &&\\n\\t\\t\\t\\tright._bvh_min_x < max_x &&\\n\\t\\t\\t\\tright._bvh_min_y < max_y\\n\\t\\t\\t) {\\n\\t\\t\\t\\tcurrent       = right;\\n\\t\\t\\t\\ttraverse_left = true;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tif(!branch && current !== body) {\\n\\t\\t\\t\\t\\tresults.push(current);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tlet parent = current._bvh_parent;\\n\\n\\t\\t\\t\\tif(parent) {\\n\\t\\t\\t\\t\\twhile(parent && parent._bvh_right === current) {\\n\\t\\t\\t\\t\\t\\tcurrent = parent;\\n\\t\\t\\t\\t\\t\\tparent  = current._bvh_parent;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tcurrent = parent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn results;\\n\\t}\\n\\n\\t/**\\n\\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t */\\n\\tdraw(context) {\\n\\t\\tconst bodies = this._bodies;\\n\\t\\tconst count  = bodies.length;\\n\\n\\t\\tfor(let i = 0; i < count; ++i) {\\n\\t\\t\\tbodies[i].draw(context);\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\\n\\t * @param {CanvasRenderingContext2D} context The context to draw to\\n\\t */\\n\\tdrawBVH(context) {\\n\\t\\tlet current       = this._hierarchy;\\n\\t\\tlet traverse_left = true;\\n\\n\\t\\twhile(current) {\\n\\t\\t\\tif(traverse_left) {\\n\\t\\t\\t\\ttraverse_left = false;\\n\\n\\t\\t\\t\\tlet left = current._bvh_branch ? current._bvh_left : null;\\n\\n\\t\\t\\t\\twhile(left) {\\n\\t\\t\\t\\t\\tcurrent = left;\\n\\t\\t\\t\\t\\tleft    = current._bvh_branch ? current._bvh_left : null;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tconst branch = current._bvh_branch;\\n\\t\\t\\tconst min_x  = current._bvh_min_x;\\n\\t\\t\\tconst min_y  = current._bvh_min_y;\\n\\t\\t\\tconst max_x  = current._bvh_max_x;\\n\\t\\t\\tconst max_y  = current._bvh_max_y;\\n\\t\\t\\tconst right  = branch ? current._bvh_right : null;\\n\\n\\t\\t\\tcontext.moveTo(min_x, min_y);\\n\\t\\t\\tcontext.lineTo(max_x, min_y);\\n\\t\\t\\tcontext.lineTo(max_x, max_y);\\n\\t\\t\\tcontext.lineTo(min_x, max_y);\\n\\t\\t\\tcontext.lineTo(min_x, min_y);\\n\\n\\t\\t\\tif(right) {\\n\\t\\t\\t\\tcurrent       = right;\\n\\t\\t\\t\\ttraverse_left = true;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tlet parent = current._bvh_parent;\\n\\n\\t\\t\\t\\tif(parent) {\\n\\t\\t\\t\\t\\twhile(parent && parent._bvh_right === current) {\\n\\t\\t\\t\\t\\t\\tcurrent = parent;\\n\\t\\t\\t\\t\\t\\tparent  = current._bvh_parent;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tcurrent = parent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n};\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/BVH.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 65,\n    \"kind\": \"class\",\n    \"name\": \"BVH\",\n    \"memberof\": \"src/modules/BVH.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/BVH.mjs~BVH\",\n    \"access\": \"private\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/BVH.mjs\",\n    \"importStyle\": \"BVH\",\n    \"description\": \"A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\",\n    \"lineNumber\": 8,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 66,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 12,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 67,\n    \"kind\": \"member\",\n    \"name\": \"_hierarchy\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#_hierarchy\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 14,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 68,\n    \"kind\": \"member\",\n    \"name\": \"_bodies\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#_bodies\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 17,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 69,\n    \"kind\": \"member\",\n    \"name\": \"_dirty_branches\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#_dirty_branches\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 20,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 70,\n    \"kind\": \"method\",\n    \"name\": \"insert\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#insert\",\n    \"access\": \"public\",\n    \"description\": \"Inserts a body into the BVH\",\n    \"lineNumber\": 28,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"body\",\n        \"description\": \"The body to insert\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Boolean\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" false\",\n        \"defaultRaw\": false,\n        \"name\": \"updating\",\n        \"description\": \"Set to true if the body already exists in the BVH (used internally when updating the body's position)\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 73,\n    \"kind\": \"method\",\n    \"name\": \"remove\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#remove\",\n    \"access\": \"public\",\n    \"description\": \"Removes a body from the BVH\",\n    \"lineNumber\": 151,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"body\",\n        \"description\": \"The body to remove\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Boolean\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" false\",\n        \"defaultRaw\": false,\n        \"name\": \"updating\",\n        \"description\": \"Set to true if this is a temporary removal (used internally when updating the body's position)\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 76,\n    \"kind\": \"method\",\n    \"name\": \"update\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#update\",\n    \"access\": \"public\",\n    \"description\": \"Updates the BVH. Moved bodies are removed/inserted.\",\n    \"lineNumber\": 221\n  },\n  {\n    \"__docId__\": 77,\n    \"kind\": \"method\",\n    \"name\": \"potentials\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#potentials\",\n    \"access\": \"public\",\n    \"description\": \"Returns a list of potential collisions for a body\",\n    \"lineNumber\": 274,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Array<Body>}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"body\",\n        \"description\": \"The body to test\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Array<Body>\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 78,\n    \"kind\": \"method\",\n    \"name\": \"draw\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#draw\",\n    \"access\": \"public\",\n    \"description\": \"Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\",\n    \"lineNumber\": 347,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"CanvasRenderingContext2D\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"context\",\n        \"description\": \"The context to draw to\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 79,\n    \"kind\": \"method\",\n    \"name\": \"drawBVH\",\n    \"memberof\": \"src/modules/BVH.mjs~BVH\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVH.mjs~BVH#drawBVH\",\n    \"access\": \"public\",\n    \"description\": \"Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\",\n    \"lineNumber\": 360,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"CanvasRenderingContext2D\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"context\",\n        \"description\": \"The context to draw to\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 80,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/BVHBranch.mjs\",\n    \"content\": \"/**\\n * @private\\n */\\nconst branch_pool = [];\\n\\n/**\\n * A branch within a BVH\\n * @class\\n * @private\\n */\\nexport default class BVHBranch {\\n\\t/**\\n\\t * @constructor\\n\\t */\\n\\tconstructor() {\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_parent = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_branch = true;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_left = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_right = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_sort = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_min_x = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_min_y = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_max_x = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_max_y = 0;\\n\\t}\\n\\n\\t/**\\n\\t * Returns a branch from the branch pool or creates a new branch\\n\\t * @returns {BVHBranch}\\n\\t */\\n\\tstatic getBranch() {\\n\\t\\tif(branch_pool.length) {\\n\\t\\t\\treturn branch_pool.pop();\\n\\t\\t}\\n\\n\\t\\treturn new BVHBranch();\\n\\t}\\n\\n\\t/**\\n\\t * Releases a branch back into the branch pool\\n\\t * @param {BVHBranch} branch The branch to release\\n\\t */\\n\\tstatic releaseBranch(branch) {\\n\\t\\tbranch_pool.push(branch);\\n\\t}\\n\\n\\t/**\\n\\t * Sorting callback used to sort branches by deepest first\\n\\t * @param {BVHBranch} a The first branch\\n\\t * @param {BVHBranch} b The second branch\\n\\t * @returns {Number}\\n\\t */\\n\\tstatic sortBranches(a, b) {\\n\\t\\treturn a.sort > b.sort ? -1 : 1;\\n\\t}\\n};\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/BVHBranch.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 81,\n    \"kind\": \"variable\",\n    \"name\": \"branch_pool\",\n    \"memberof\": \"src/modules/BVHBranch.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/BVHBranch.mjs~branch_pool\",\n    \"access\": \"private\",\n    \"export\": false,\n    \"importPath\": \"collisions/src/modules/BVHBranch.mjs\",\n    \"importStyle\": null,\n    \"description\": \"\",\n    \"lineNumber\": 4,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 82,\n    \"kind\": \"class\",\n    \"name\": \"BVHBranch\",\n    \"memberof\": \"src/modules/BVHBranch.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"access\": \"private\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/BVHBranch.mjs\",\n    \"importStyle\": \"BVHBranch\",\n    \"description\": \"A branch within a BVH\",\n    \"lineNumber\": 11,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 83,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 15,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 84,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_parent\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_parent\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 17,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 85,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_branch\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_branch\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 20,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 86,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_left\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_left\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 23,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 87,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_right\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_right\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 26,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 88,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_sort\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_sort\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 29,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 89,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_min_x\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_min_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 32,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 90,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_min_y\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_min_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 35,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 91,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_max_x\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_max_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 38,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 92,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_max_y\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"static\": false,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch#_bvh_max_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 41,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 93,\n    \"kind\": \"method\",\n    \"name\": \"getBranch\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch.getBranch\",\n    \"access\": \"public\",\n    \"description\": \"Returns a branch from the branch pool or creates a new branch\",\n    \"lineNumber\": 48,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{BVHBranch}\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"BVHBranch\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 94,\n    \"kind\": \"method\",\n    \"name\": \"releaseBranch\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch.releaseBranch\",\n    \"access\": \"public\",\n    \"description\": \"Releases a branch back into the branch pool\",\n    \"lineNumber\": 60,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"BVHBranch\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"branch\",\n        \"description\": \"The branch to release\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 95,\n    \"kind\": \"method\",\n    \"name\": \"sortBranches\",\n    \"memberof\": \"src/modules/BVHBranch.mjs~BVHBranch\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/BVHBranch.mjs~BVHBranch.sortBranches\",\n    \"access\": \"public\",\n    \"description\": \"Sorting callback used to sort branches by deepest first\",\n    \"lineNumber\": 70,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Number}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"BVHBranch\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"a\",\n        \"description\": \"The first branch\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"BVHBranch\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"b\",\n        \"description\": \"The second branch\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 96,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/Body.mjs\",\n    \"content\": \"import Result from './Result.mjs';\\nimport SAT    from './SAT.mjs';\\n\\n/**\\n * The base class for bodies used to detect collisions\\n * @class\\n * @protected\\n */\\nexport default class Body {\\n\\t/**\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t */\\n\\tconstructor(x = 0, y = 0, padding = 0) {\\n\\t\\t/**\\n\\t\\t * @desc The X coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.x = x;\\n\\n\\t\\t/**\\n\\t\\t * @desc The Y coordinate of the body\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.y = y;\\n\\n\\t\\t/**\\n\\t\\t * @desc The amount to pad the bounding volume when testing for potential collisions\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.padding = padding;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._circle = false;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._polygon = false;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._point = false;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_parent = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_branch = false;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_padding = padding;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_min_x = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_min_y = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_max_x = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._bvh_max_y = 0;\\n\\t}\\n\\n\\t/**\\n\\t * Determines if the body is colliding with another body\\n\\t * @param {Circle|Polygon|Point} target The target body to test against\\n\\t * @param {Result} [result = null] A Result object on which to store information about the collision\\n\\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\\n\\t * @returns {Boolean}\\n\\t */\\n\\tcollides(target, result = null, aabb = true) {\\n\\t\\treturn SAT(this, target, result, aabb);\\n\\t}\\n\\n\\t/**\\n\\t * Returns a list of potential collisions\\n\\t * @returns {Array<Body>}\\n\\t */\\n\\tpotentials() {\\n\\t\\tconst bvh = this._bvh;\\n\\n\\t\\tif(bvh === null) {\\n\\t\\t\\tthrow new Error('Body does not belong to a collision system');\\n\\t\\t}\\n\\n\\t\\treturn bvh.potentials(this);\\n\\t}\\n\\n\\t/**\\n\\t * Removes the body from its current collision system\\n\\t */\\n\\tremove() {\\n\\t\\tconst bvh = this._bvh;\\n\\n\\t\\tif(bvh) {\\n\\t\\t\\tbvh.remove(this, false);\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * Creates a {@link Result} used to collect the detailed results of a collision test\\n\\t */\\n\\tcreateResult() {\\n\\t\\treturn new Result();\\n\\t}\\n\\n\\t/**\\n\\t * Creates a Result used to collect the detailed results of a collision test\\n\\t */\\n\\tstatic createResult() {\\n\\t\\treturn new Result();\\n\\t}\\n};\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/Body.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 97,\n    \"kind\": \"class\",\n    \"name\": \"Body\",\n    \"memberof\": \"src/modules/Body.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/Body.mjs~Body\",\n    \"access\": \"protected\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/Body.mjs\",\n    \"importStyle\": \"Body\",\n    \"description\": \"The base class for bodies used to detect collisions\",\n    \"lineNumber\": 9,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false\n  },\n  {\n    \"__docId__\": 98,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 16,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"x\",\n        \"description\": \"The starting X coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"y\",\n        \"description\": \"The starting Y coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"padding\",\n        \"description\": \"The amount to pad the bounding volume when testing for potential collisions\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 99,\n    \"kind\": \"member\",\n    \"name\": \"x\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#x\",\n    \"access\": \"public\",\n    \"description\": \"The X coordinate of the body\",\n    \"lineNumber\": 21,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 100,\n    \"kind\": \"member\",\n    \"name\": \"y\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#y\",\n    \"access\": \"public\",\n    \"description\": \"The Y coordinate of the body\",\n    \"lineNumber\": 27,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 101,\n    \"kind\": \"member\",\n    \"name\": \"padding\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#padding\",\n    \"access\": \"public\",\n    \"description\": \"The amount to pad the bounding volume when testing for potential collisions\",\n    \"lineNumber\": 33,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 102,\n    \"kind\": \"member\",\n    \"name\": \"_circle\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_circle\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 36,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 103,\n    \"kind\": \"member\",\n    \"name\": \"_polygon\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_polygon\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 39,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 104,\n    \"kind\": \"member\",\n    \"name\": \"_point\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_point\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 42,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 105,\n    \"kind\": \"member\",\n    \"name\": \"_bvh\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 45,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 106,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_parent\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh_parent\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 48,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 107,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_branch\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh_branch\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 51,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 108,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_padding\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh_padding\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 54,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 109,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_min_x\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh_min_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 57,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 110,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_min_y\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh_min_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 60,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 111,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_max_x\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh_max_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 63,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 112,\n    \"kind\": \"member\",\n    \"name\": \"_bvh_max_y\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#_bvh_max_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 66,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 113,\n    \"kind\": \"method\",\n    \"name\": \"collides\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#collides\",\n    \"access\": \"public\",\n    \"description\": \"Determines if the body is colliding with another body\",\n    \"lineNumber\": 76,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Boolean}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"target\",\n        \"description\": \"The target body to test against\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Result\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" null\",\n        \"defaultRaw\": null,\n        \"name\": \"result\",\n        \"description\": \"A Result object on which to store information about the collision\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Boolean\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" true\",\n        \"defaultRaw\": true,\n        \"name\": \"aabb\",\n        \"description\": \"Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 114,\n    \"kind\": \"method\",\n    \"name\": \"potentials\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#potentials\",\n    \"access\": \"public\",\n    \"description\": \"Returns a list of potential collisions\",\n    \"lineNumber\": 84,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Array<Body>}\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Array<Body>\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    }\n  },\n  {\n    \"__docId__\": 115,\n    \"kind\": \"method\",\n    \"name\": \"remove\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#remove\",\n    \"access\": \"public\",\n    \"description\": \"Removes the body from its current collision system\",\n    \"lineNumber\": 97\n  },\n  {\n    \"__docId__\": 116,\n    \"kind\": \"method\",\n    \"name\": \"createResult\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Body.mjs~Body#createResult\",\n    \"access\": \"public\",\n    \"description\": \"Creates a {@link Result} used to collect the detailed results of a collision test\",\n    \"lineNumber\": 108\n  },\n  {\n    \"__docId__\": 117,\n    \"kind\": \"method\",\n    \"name\": \"createResult\",\n    \"memberof\": \"src/modules/Body.mjs~Body\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/Body.mjs~Body.createResult\",\n    \"access\": \"public\",\n    \"description\": \"Creates a Result used to collect the detailed results of a collision test\",\n    \"lineNumber\": 115\n  },\n  {\n    \"__docId__\": 118,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/Circle.mjs\",\n    \"content\": \"import Body from './Body.mjs';\\n\\n/**\\n * A circle used to detect collisions\\n * @class\\n */\\nexport default class Circle extends Body {\\n\\t/**\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [radius = 0] The radius\\n\\t * @param {Number} [scale = 1] The scale\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t */\\n\\tconstructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\\n\\t\\tsuper(x, y, padding);\\n\\n\\t\\t/**\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.radius = radius;\\n\\n\\t\\t/**\\n\\t\\t * @desc\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.scale = scale;\\n\\t}\\n\\n\\t/**\\n\\t * Draws the circle to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the arc to\\n\\t */\\n\\tdraw(context) {\\n\\t\\tconst x      = this.x;\\n\\t\\tconst y      = this.y;\\n\\t\\tconst radius = this.radius * this.scale;\\n\\n\\t\\tcontext.moveTo(x + radius, y);\\n\\t\\tcontext.arc(x, y, radius, 0, Math.PI * 2);\\n\\t}\\n};\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/Circle.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 119,\n    \"kind\": \"class\",\n    \"name\": \"Circle\",\n    \"memberof\": \"src/modules/Circle.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/Circle.mjs~Circle\",\n    \"access\": \"public\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/Circle.mjs\",\n    \"importStyle\": \"Circle\",\n    \"description\": \"A circle used to detect collisions\",\n    \"lineNumber\": 7,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false,\n    \"extends\": [\n      \"src/modules/Body.mjs~Body\"\n    ]\n  },\n  {\n    \"__docId__\": 120,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/modules/Circle.mjs~Circle\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Circle.mjs~Circle#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 16,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"x\",\n        \"description\": \"The starting X coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"y\",\n        \"description\": \"The starting Y coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"radius\",\n        \"description\": \"The radius\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 1\",\n        \"defaultRaw\": 1,\n        \"name\": \"scale\",\n        \"description\": \"The scale\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"padding\",\n        \"description\": \"The amount to pad the bounding volume when testing for potential collisions\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 121,\n    \"kind\": \"member\",\n    \"name\": \"radius\",\n    \"memberof\": \"src/modules/Circle.mjs~Circle\",\n    \"static\": false,\n    \"longname\": \"src/modules/Circle.mjs~Circle#radius\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 23,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 122,\n    \"kind\": \"member\",\n    \"name\": \"scale\",\n    \"memberof\": \"src/modules/Circle.mjs~Circle\",\n    \"static\": false,\n    \"longname\": \"src/modules/Circle.mjs~Circle#scale\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 29,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 123,\n    \"kind\": \"method\",\n    \"name\": \"draw\",\n    \"memberof\": \"src/modules/Circle.mjs~Circle\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Circle.mjs~Circle#draw\",\n    \"access\": \"public\",\n    \"description\": \"Draws the circle to a CanvasRenderingContext2D's current path\",\n    \"lineNumber\": 36,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"CanvasRenderingContext2D\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"context\",\n        \"description\": \"The context to add the arc to\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 124,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/Point.mjs\",\n    \"content\": \"import Polygon from './Polygon.mjs';\\n\\n/**\\n * A point used to detect collisions\\n * @class\\n */\\nexport default class Point extends Polygon {\\n\\t/**\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t */\\n\\tconstructor(x = 0, y = 0, padding = 0) {\\n\\t\\tsuper(x, y, [[0, 0]], 0, 1, 1, padding);\\n\\n\\t\\t/** @private */\\n\\t\\tthis._point = true;\\n\\t}\\n};\\n\\nPoint.prototype.setPoints = undefined;\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/Point.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 125,\n    \"kind\": \"class\",\n    \"name\": \"Point\",\n    \"memberof\": \"src/modules/Point.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/Point.mjs~Point\",\n    \"access\": \"public\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/Point.mjs\",\n    \"importStyle\": \"Point\",\n    \"description\": \"A point used to detect collisions\",\n    \"lineNumber\": 7,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false,\n    \"extends\": [\n      \"src/modules/Polygon.mjs~Polygon\"\n    ]\n  },\n  {\n    \"__docId__\": 126,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/modules/Point.mjs~Point\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Point.mjs~Point#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 14,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"x\",\n        \"description\": \"The starting X coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"y\",\n        \"description\": \"The starting Y coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"padding\",\n        \"description\": \"The amount to pad the bounding volume when testing for potential collisions\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 127,\n    \"kind\": \"member\",\n    \"name\": \"_point\",\n    \"memberof\": \"src/modules/Point.mjs~Point\",\n    \"static\": false,\n    \"longname\": \"src/modules/Point.mjs~Point#_point\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 18,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 128,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/Polygon.mjs\",\n    \"content\": \"import Body from './Body.mjs';\\n\\n/**\\n * A polygon used to detect collisions\\n * @class\\n */\\nexport default class Polygon extends Body {\\n\\t/**\\n\\t * @constructor\\n\\t * @param {Number} [x = 0] The starting X coordinate\\n\\t * @param {Number} [y = 0] The starting Y coordinate\\n\\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t * @param {Number} [angle = 0] The starting rotation in radians\\n\\t * @param {Number} [scale_x = 1] The starting scale along the X axis\\n\\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\\n\\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\\n\\t */\\n\\tconstructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\\n\\t\\tsuper(x, y, padding);\\n\\n\\t\\t/**\\n\\t\\t * @desc The angle of the body in radians\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.angle = angle;\\n\\n\\t\\t/**\\n\\t\\t * @desc The scale of the body along the X axis\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.scale_x = scale_x;\\n\\n\\t\\t/**\\n\\t\\t * @desc The scale of the body along the Y axis\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.scale_y = scale_y;\\n\\n\\n\\t\\t/** @private */\\n\\t\\tthis._polygon = true;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._x = x;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._y = y;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._angle = angle;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._scale_x = scale_x;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._scale_y = scale_y;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._min_x = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._min_y = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._max_x = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._max_y = 0;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._points = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._coords = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._edges = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._normals = null;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._dirty_coords = true;\\n\\n\\t\\t/** @private */\\n\\t\\tthis._dirty_normals = true;\\n\\n\\t\\tPolygon.prototype.setPoints.call(this, points);\\n\\t}\\n\\n\\t/**\\n\\t * Draws the polygon to a CanvasRenderingContext2D's current path\\n\\t * @param {CanvasRenderingContext2D} context The context to add the shape to\\n\\t */\\n\\tdraw(context) {\\n\\t\\tif(\\n\\t\\t\\tthis._dirty_coords ||\\n\\t\\t\\tthis.x       !== this._x ||\\n\\t\\t\\tthis.y       !== this._y ||\\n\\t\\t\\tthis.angle   !== this._angle ||\\n\\t\\t\\tthis.scale_x !== this._scale_x ||\\n\\t\\t\\tthis.scale_y !== this._scale_y\\n\\t\\t) {\\n\\t\\t\\tthis._calculateCoords();\\n\\t\\t}\\n\\n\\t\\tconst coords = this._coords;\\n\\n\\t\\tif(coords.length === 2) {\\n\\t\\t\\tcontext.moveTo(coords[0], coords[1]);\\n\\t\\t\\tcontext.arc(coords[0], coords[1], 1, 0, Math.PI * 2);\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tcontext.moveTo(coords[0], coords[1]);\\n\\n\\t\\t\\tfor(let i = 2; i < coords.length; i += 2) {\\n\\t\\t\\t\\tcontext.lineTo(coords[i], coords[i + 1]);\\n\\t\\t\\t}\\n\\n\\t\\t\\tif(coords.length > 4) {\\n\\t\\t\\t\\tcontext.lineTo(coords[0], coords[1]);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\\n\\t * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\\n\\t */\\n\\tsetPoints(new_points) {\\n\\t\\tconst count = new_points.length;\\n\\n\\t\\tthis._points  = new Float64Array(count * 2);\\n\\t\\tthis._coords  = new Float64Array(count * 2);\\n\\t\\tthis._edges   = new Float64Array(count * 2);\\n\\t\\tthis._normals = new Float64Array(count * 2);\\n\\n\\t\\tconst points = this._points;\\n\\n\\t\\tfor(let i = 0, ix = 0, iy = 1; i < count; ++i, ix += 2, iy += 2) {\\n\\t\\t\\tconst new_point = new_points[i];\\n\\n\\t\\t\\tpoints[ix] = new_point[0];\\n\\t\\t\\tpoints[iy] = new_point[1];\\n\\t\\t}\\n\\n\\t\\tthis._dirty_coords = true;\\n\\t}\\n\\n\\t/**\\n\\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\\n\\t */\\n\\t_calculateCoords() {\\n\\t\\tconst x       = this.x;\\n\\t\\tconst y       = this.y;\\n\\t\\tconst angle   = this.angle;\\n\\t\\tconst scale_x = this.scale_x;\\n\\t\\tconst scale_y = this.scale_y;\\n\\t\\tconst points  = this._points;\\n\\t\\tconst coords  = this._coords;\\n\\t\\tconst count   = points.length;\\n\\n\\t\\tlet min_x;\\n\\t\\tlet max_x;\\n\\t\\tlet min_y;\\n\\t\\tlet max_y;\\n\\n\\t\\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\\n\\t\\t\\tlet coord_x = points[ix] * scale_x;\\n\\t\\t\\tlet coord_y = points[iy] * scale_y;\\n\\n\\t\\t\\tif(angle) {\\n\\t\\t\\t\\tconst cos   = Math.cos(angle);\\n\\t\\t\\t\\tconst sin   = Math.sin(angle);\\n\\t\\t\\t\\tconst tmp_x = coord_x;\\n\\t\\t\\t\\tconst tmp_y = coord_y;\\n\\n\\t\\t\\t\\tcoord_x = tmp_x * cos - tmp_y * sin;\\n\\t\\t\\t\\tcoord_y = tmp_x * sin + tmp_y * cos;\\n\\t\\t\\t}\\n\\n\\t\\t\\tcoord_x += x;\\n\\t\\t\\tcoord_y += y;\\n\\n\\t\\t\\tcoords[ix] = coord_x;\\n\\t\\t\\tcoords[iy] = coord_y;\\n\\n\\t\\t\\tif(ix === 0) {\\n\\t\\t\\t\\tmin_x = max_x = coord_x;\\n\\t\\t\\t\\tmin_y = max_y = coord_y;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tif(coord_x < min_x) {\\n\\t\\t\\t\\t\\tmin_x = coord_x;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if(coord_x > max_x) {\\n\\t\\t\\t\\t\\tmax_x = coord_x;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif(coord_y < min_y) {\\n\\t\\t\\t\\t\\tmin_y = coord_y;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if(coord_y > max_y) {\\n\\t\\t\\t\\t\\tmax_y = coord_y;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tthis._x             = x;\\n\\t\\tthis._y             = y;\\n\\t\\tthis._angle         = angle;\\n\\t\\tthis._scale_x       = scale_x;\\n\\t\\tthis._scale_y       = scale_y;\\n\\t\\tthis._min_x         = min_x;\\n\\t\\tthis._min_y         = min_y;\\n\\t\\tthis._max_x         = max_x;\\n\\t\\tthis._max_y         = max_y;\\n\\t\\tthis._dirty_coords  = false;\\n\\t\\tthis._dirty_normals = true;\\n\\t}\\n\\n\\t/**\\n\\t * Calculates the normals and edges of the polygon's sides\\n\\t */\\n\\t_calculateNormals() {\\n\\t\\tconst coords  = this._coords;\\n\\t\\tconst edges   = this._edges;\\n\\t\\tconst normals = this._normals;\\n\\t\\tconst count   = coords.length;\\n\\n\\t\\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\\n\\t\\t\\tconst next   = ix + 2 < count ? ix + 2 : 0;\\n\\t\\t\\tconst x      = coords[next] - coords[ix];\\n\\t\\t\\tconst y      = coords[next + 1] - coords[iy];\\n\\t\\t\\tconst length = x || y ? Math.sqrt(x * x + y * y) : 0;\\n\\n\\t\\t\\tedges[ix]   = x;\\n\\t\\t\\tedges[iy]   = y;\\n\\t\\t\\tnormals[ix] = length ? y / length : 0;\\n\\t\\t\\tnormals[iy] = length ? -x / length : 0;\\n\\t\\t}\\n\\n\\t\\tthis._dirty_normals = false;\\n\\t}\\n};\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/Polygon.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 129,\n    \"kind\": \"class\",\n    \"name\": \"Polygon\",\n    \"memberof\": \"src/modules/Polygon.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon\",\n    \"access\": \"public\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/Polygon.mjs\",\n    \"importStyle\": \"Polygon\",\n    \"description\": \"A polygon used to detect collisions\",\n    \"lineNumber\": 7,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false,\n    \"extends\": [\n      \"src/modules/Body.mjs~Body\"\n    ]\n  },\n  {\n    \"__docId__\": 130,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 18,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"x\",\n        \"description\": \"The starting X coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"y\",\n        \"description\": \"The starting Y coordinate\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Array<Number[]>\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" []\",\n        \"defaultRaw\": [],\n        \"name\": \"points\",\n        \"description\": \"An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"angle\",\n        \"description\": \"The starting rotation in radians\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 1\",\n        \"defaultRaw\": 1,\n        \"name\": \"scale_x\",\n        \"description\": \"The starting scale along the X axis\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 1\",\n        \"defaultRaw\": 1,\n        \"name\": \"scale_y\",\n        \"description\": \"The starting scale long the Y axis\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" 0\",\n        \"defaultRaw\": 0,\n        \"name\": \"padding\",\n        \"description\": \"The amount to pad the bounding volume when testing for potential collisions\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 131,\n    \"kind\": \"member\",\n    \"name\": \"angle\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#angle\",\n    \"access\": \"public\",\n    \"description\": \"The angle of the body in radians\",\n    \"lineNumber\": 25,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 132,\n    \"kind\": \"member\",\n    \"name\": \"scale_x\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#scale_x\",\n    \"access\": \"public\",\n    \"description\": \"The scale of the body along the X axis\",\n    \"lineNumber\": 31,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 133,\n    \"kind\": \"member\",\n    \"name\": \"scale_y\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#scale_y\",\n    \"access\": \"public\",\n    \"description\": \"The scale of the body along the Y axis\",\n    \"lineNumber\": 37,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 134,\n    \"kind\": \"member\",\n    \"name\": \"_polygon\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_polygon\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 41,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 135,\n    \"kind\": \"member\",\n    \"name\": \"_x\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 44,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 136,\n    \"kind\": \"member\",\n    \"name\": \"_y\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 47,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 137,\n    \"kind\": \"member\",\n    \"name\": \"_angle\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_angle\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 50,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 138,\n    \"kind\": \"member\",\n    \"name\": \"_scale_x\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_scale_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 53,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 139,\n    \"kind\": \"member\",\n    \"name\": \"_scale_y\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_scale_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 56,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 140,\n    \"kind\": \"member\",\n    \"name\": \"_min_x\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_min_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 59,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 141,\n    \"kind\": \"member\",\n    \"name\": \"_min_y\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_min_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 62,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 142,\n    \"kind\": \"member\",\n    \"name\": \"_max_x\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_max_x\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 65,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 143,\n    \"kind\": \"member\",\n    \"name\": \"_max_y\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_max_y\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 68,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 144,\n    \"kind\": \"member\",\n    \"name\": \"_points\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_points\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 71,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 145,\n    \"kind\": \"member\",\n    \"name\": \"_coords\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_coords\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 74,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 146,\n    \"kind\": \"member\",\n    \"name\": \"_edges\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_edges\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 77,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 147,\n    \"kind\": \"member\",\n    \"name\": \"_normals\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_normals\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 80,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 148,\n    \"kind\": \"member\",\n    \"name\": \"_dirty_coords\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_dirty_coords\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 83,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 149,\n    \"kind\": \"member\",\n    \"name\": \"_dirty_normals\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_dirty_normals\",\n    \"access\": \"private\",\n    \"description\": null,\n    \"lineNumber\": 86,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 150,\n    \"kind\": \"method\",\n    \"name\": \"draw\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#draw\",\n    \"access\": \"public\",\n    \"description\": \"Draws the polygon to a CanvasRenderingContext2D's current path\",\n    \"lineNumber\": 95,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"CanvasRenderingContext2D\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"context\",\n        \"description\": \"The context to add the shape to\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 151,\n    \"kind\": \"method\",\n    \"name\": \"setPoints\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#setPoints\",\n    \"access\": \"public\",\n    \"description\": \"Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\",\n    \"lineNumber\": 130,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Array<Number[]>\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"new_points\",\n        \"description\": \"An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 157,\n    \"kind\": \"method\",\n    \"name\": \"_calculateCoords\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_calculateCoords\",\n    \"access\": \"private\",\n    \"description\": \"Calculates and caches the polygon's world coordinates based on its points, angle, and scale\",\n    \"lineNumber\": 153,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 169,\n    \"kind\": \"method\",\n    \"name\": \"_calculateNormals\",\n    \"memberof\": \"src/modules/Polygon.mjs~Polygon\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Polygon.mjs~Polygon#_calculateNormals\",\n    \"access\": \"private\",\n    \"description\": \"Calculates the normals and edges of the polygon's sides\",\n    \"lineNumber\": 225,\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 171,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/Result.mjs\",\n    \"content\": \"/**\\n * An object used to collect the detailed results of a collision test\\n *\\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\\n * @class\\n */\\nexport default class Result {\\n\\t/**\\n\\t * @constructor\\n\\t */\\n\\tconstructor() {\\n\\t\\t/**\\n\\t\\t * @desc True if a collision was detected\\n\\t\\t * @type {Boolean}\\n\\t\\t */\\n\\t\\tthis.collision = false;\\n\\n\\t\\t/**\\n\\t\\t * @desc The source body tested\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t */\\n\\t\\tthis.a = null;\\n\\n\\t\\t/**\\n\\t\\t * @desc The target body tested against\\n\\t\\t * @type {Circle|Polygon|Point}\\n\\t\\t */\\n\\t\\tthis.b = null;\\n\\n\\t\\t/**\\n\\t\\t * @desc True if A is completely contained within B\\n\\t\\t * @type {Boolean}\\n\\t\\t */\\n\\t\\tthis.a_in_b = false;\\n\\n\\t\\t/**\\n\\t\\t * @desc True if B is completely contained within A\\n\\t\\t * @type {Boolean}\\n\\t\\t */\\n\\t\\tthis.a_in_b = false;\\n\\n\\t\\t/**\\n\\t\\t * @desc The magnitude of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.overlap = 0;\\n\\n\\t\\t/**\\n\\t\\t * @desc The X direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.overlap_x = 0;\\n\\n\\t\\t/**\\n\\t\\t * @desc The Y direction of the shortest axis of overlap\\n\\t\\t * @type {Number}\\n\\t\\t */\\n\\t\\tthis.overlap_y = 0;\\n\\t}\\n};\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/Result.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 172,\n    \"kind\": \"class\",\n    \"name\": \"Result\",\n    \"memberof\": \"src/modules/Result.mjs\",\n    \"static\": true,\n    \"longname\": \"src/modules/Result.mjs~Result\",\n    \"access\": \"public\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/Result.mjs\",\n    \"importStyle\": \"Result\",\n    \"description\": \"An object used to collect the detailed results of a collision test\\n\\n> **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\",\n    \"lineNumber\": 7,\n    \"unknown\": [\n      {\n        \"tagName\": \"@class\",\n        \"tagValue\": \"\"\n      }\n    ],\n    \"interface\": false\n  },\n  {\n    \"__docId__\": 173,\n    \"kind\": \"constructor\",\n    \"name\": \"constructor\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#constructor\",\n    \"access\": \"public\",\n    \"description\": \"\",\n    \"lineNumber\": 11,\n    \"unknown\": [\n      {\n        \"tagName\": \"@constructor\",\n        \"tagValue\": \"\"\n      }\n    ]\n  },\n  {\n    \"__docId__\": 174,\n    \"kind\": \"member\",\n    \"name\": \"collision\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#collision\",\n    \"access\": \"public\",\n    \"description\": \"True if a collision was detected\",\n    \"lineNumber\": 16,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 175,\n    \"kind\": \"member\",\n    \"name\": \"a\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#a\",\n    \"access\": \"public\",\n    \"description\": \"The source body tested\",\n    \"lineNumber\": 22,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Circle\",\n        \"Polygon\",\n        \"Point\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 176,\n    \"kind\": \"member\",\n    \"name\": \"b\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#b\",\n    \"access\": \"public\",\n    \"description\": \"The target body tested against\",\n    \"lineNumber\": 28,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Circle\",\n        \"Polygon\",\n        \"Point\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 177,\n    \"kind\": \"member\",\n    \"name\": \"a_in_b\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#a_in_b\",\n    \"access\": \"public\",\n    \"description\": \"True if A is completely contained within B\",\n    \"lineNumber\": 34,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 179,\n    \"kind\": \"member\",\n    \"name\": \"overlap\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#overlap\",\n    \"access\": \"public\",\n    \"description\": \"The magnitude of the shortest axis of overlap\",\n    \"lineNumber\": 46,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 180,\n    \"kind\": \"member\",\n    \"name\": \"overlap_x\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#overlap_x\",\n    \"access\": \"public\",\n    \"description\": \"The X direction of the shortest axis of overlap\",\n    \"lineNumber\": 52,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 181,\n    \"kind\": \"member\",\n    \"name\": \"overlap_y\",\n    \"memberof\": \"src/modules/Result.mjs~Result\",\n    \"static\": false,\n    \"longname\": \"src/modules/Result.mjs~Result#overlap_y\",\n    \"access\": \"public\",\n    \"description\": \"The Y direction of the shortest axis of overlap\",\n    \"lineNumber\": 58,\n    \"type\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Number\"\n      ],\n      \"spread\": false,\n      \"description\": null\n    }\n  },\n  {\n    \"__docId__\": 182,\n    \"kind\": \"file\",\n    \"name\": \"src/modules/SAT.mjs\",\n    \"content\": \"/**\\n * Determines if two bodies are colliding using the Separating Axis Theorem\\n * @private\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\\n * @returns {Boolean}\\n */\\nexport default function SAT(a, b, result = null, aabb = true) {\\n\\tconst a_polygon = a._polygon;\\n\\tconst b_polygon = b._polygon;\\n\\n\\tlet collision = false;\\n\\n\\tif(result) {\\n\\t\\tresult.a         = a;\\n\\t\\tresult.b         = b;\\n\\t\\tresult.a_in_b    = true;\\n\\t\\tresult.b_in_a    = true;\\n\\t\\tresult.overlap   = null;\\n\\t\\tresult.overlap_x = 0;\\n\\t\\tresult.overlap_y = 0;\\n\\t}\\n\\n\\tif(a_polygon) {\\n\\t\\tif(\\n\\t\\t\\ta._dirty_coords ||\\n\\t\\t\\ta.x       !== a._x ||\\n\\t\\t\\ta.y       !== a._y ||\\n\\t\\t\\ta.angle   !== a._angle ||\\n\\t\\t\\ta.scale_x !== a._scale_x ||\\n\\t\\t\\ta.scale_y !== a._scale_y\\n\\t\\t) {\\n\\t\\t\\ta._calculateCoords();\\n\\t\\t}\\n\\t}\\n\\n\\tif(b_polygon) {\\n\\t\\tif(\\n\\t\\t\\tb._dirty_coords ||\\n\\t\\t\\tb.x       !== b._x ||\\n\\t\\t\\tb.y       !== b._y ||\\n\\t\\t\\tb.angle   !== b._angle ||\\n\\t\\t\\tb.scale_x !== b._scale_x ||\\n\\t\\t\\tb.scale_y !== b._scale_y\\n\\t\\t) {\\n\\t\\t\\tb._calculateCoords();\\n\\t\\t}\\n\\t}\\n\\n\\tif(!aabb || aabbAABB(a, b)) {\\n\\t\\tif(a_polygon && a._dirty_normals) {\\n\\t\\t\\ta._calculateNormals();\\n\\t\\t}\\n\\n\\t\\tif(b_polygon && b._dirty_normals) {\\n\\t\\t\\tb._calculateNormals();\\n\\t\\t}\\n\\n\\t\\tcollision = (\\n\\t\\t\\ta_polygon && b_polygon ? polygonPolygon(a, b, result) :\\n\\t\\t\\ta_polygon ? polygonCircle(a, b, result, false) :\\n\\t\\t\\tb_polygon ? polygonCircle(b, a, result, true) :\\n\\t\\t\\tcircleCircle(a, b, result)\\n\\t\\t);\\n\\t}\\n\\n\\tif(result) {\\n\\t\\tresult.collision = collision;\\n\\t}\\n\\n\\treturn collision;\\n};\\n\\n/**\\n * Determines if two bodies' axis aligned bounding boxes are colliding\\n * @param {Circle|Polygon|Point} a The source body to test\\n * @param {Circle|Polygon|Point} b The target body to test against\\n */\\nfunction aabbAABB(a, b) {\\n\\tconst a_polygon = a._polygon;\\n\\tconst a_x       = a_polygon ? 0 : a.x;\\n\\tconst a_y       = a_polygon ? 0 : a.y;\\n\\tconst a_radius  = a_polygon ? 0 : a.radius * a.scale;\\n\\tconst a_min_x   = a_polygon ? a._min_x : a_x - a_radius;\\n\\tconst a_min_y   = a_polygon ? a._min_y : a_y - a_radius;\\n\\tconst a_max_x   = a_polygon ? a._max_x : a_x + a_radius;\\n\\tconst a_max_y   = a_polygon ? a._max_y : a_y + a_radius;\\n\\n\\tconst b_polygon = b._polygon;\\n\\tconst b_x       = b_polygon ? 0 : b.x;\\n\\tconst b_y       = b_polygon ? 0 : b.y;\\n\\tconst b_radius  = b_polygon ? 0 : b.radius * b.scale;\\n\\tconst b_min_x   = b_polygon ? b._min_x : b_x - b_radius;\\n\\tconst b_min_y   = b_polygon ? b._min_y : b_y - b_radius;\\n\\tconst b_max_x   = b_polygon ? b._max_x : b_x + b_radius;\\n\\tconst b_max_y   = b_polygon ? b._max_y : b_y + b_radius;\\n\\n\\treturn a_min_x < b_max_x && a_min_y < b_max_y && a_max_x > b_min_x && a_max_y > b_min_y;\\n}\\n\\n/**\\n * Determines if two polygons are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Polygon} b The target polygon to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n */\\nfunction polygonPolygon(a, b, result = null) {\\n\\tconst a_count = a._coords.length;\\n\\tconst b_count = b._coords.length;\\n\\n\\t// Handle points specially\\n\\tif(a_count === 2 && b_count === 2) {\\n\\t\\tconst a_coords = a._coords;\\n\\t\\tconst b_coords = b._coords;\\n\\n\\t\\tif(result) {\\n\\t\\t\\tresult.overlap = 0;\\n\\t\\t}\\n\\n\\t\\treturn a_coords[0] === b_coords[0] && a_coords[1] === b_coords[1];\\n\\t}\\n\\n\\tconst a_coords  = a._coords;\\n\\tconst b_coords  = b._coords;\\n\\tconst a_normals = a._normals;\\n\\tconst b_normals = b._normals;\\n\\n\\tif(a_count > 2) {\\n\\t\\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\\n\\t\\t\\tif(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tif(b_count > 2) {\\n\\t\\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\\n\\t\\t\\tif(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn true;\\n}\\n\\n/**\\n * Determines if a polygon and a circle are colliding\\n * @param {Polygon} a The source polygon to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\\n * @returns {Boolean}\\n */\\nfunction polygonCircle(a, b, result = null, reverse = false) {\\n\\tconst a_coords       = a._coords;\\n\\tconst a_edges        = a._edges;\\n\\tconst a_normals      = a._normals;\\n\\tconst b_x            = b.x;\\n\\tconst b_y            = b.y;\\n\\tconst b_radius       = b.radius * b.scale;\\n\\tconst b_radius2      = b_radius * 2;\\n\\tconst radius_squared = b_radius * b_radius;\\n\\tconst count          = a_coords.length;\\n\\n\\tlet a_in_b    = true;\\n\\tlet b_in_a    = true;\\n\\tlet overlap   = null;\\n\\tlet overlap_x = 0;\\n\\tlet overlap_y = 0;\\n\\n\\t// Handle points specially\\n\\tif(count === 2) {\\n\\t\\tconst coord_x        = b_x - a_coords[0];\\n\\t\\tconst coord_y        = b_y - a_coords[1];\\n\\t\\tconst length_squared = coord_x * coord_x + coord_y * coord_y;\\n\\n\\t\\tif(length_squared > radius_squared) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tif(result) {\\n\\t\\t\\tconst length = Math.sqrt(length_squared);\\n\\n\\t\\t\\toverlap   = b_radius - length;\\n\\t\\t\\toverlap_x = coord_x / length;\\n\\t\\t\\toverlap_y = coord_y / length;\\n\\t\\t\\tb_in_a    = false;\\n\\t\\t}\\n\\t}\\n\\telse {\\n\\t\\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\\n\\t\\t\\tconst coord_x = b_x - a_coords[ix];\\n\\t\\t\\tconst coord_y = b_y - a_coords[iy];\\n\\t\\t\\tconst edge_x  = a_edges[ix];\\n\\t\\t\\tconst edge_y  = a_edges[iy];\\n\\t\\t\\tconst dot     = coord_x * edge_x + coord_y * edge_y;\\n\\t\\t\\tconst region  = dot < 0 ? -1 : dot > edge_x * edge_x + edge_y * edge_y ? 1 : 0;\\n\\n\\t\\t\\tlet tmp_overlapping = false;\\n\\t\\t\\tlet tmp_overlap     = 0;\\n\\t\\t\\tlet tmp_overlap_x   = 0;\\n\\t\\t\\tlet tmp_overlap_y   = 0;\\n\\n\\t\\t\\tif(result && a_in_b && coord_x * coord_x + coord_y * coord_y > radius_squared) {\\n\\t\\t\\t\\ta_in_b = false;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif(region) {\\n\\t\\t\\t\\tconst left     = region === -1;\\n\\t\\t\\t\\tconst other_x  = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2);\\n\\t\\t\\t\\tconst other_y  = other_x + 1;\\n\\t\\t\\t\\tconst coord2_x = b_x - a_coords[other_x];\\n\\t\\t\\t\\tconst coord2_y = b_y - a_coords[other_y];\\n\\t\\t\\t\\tconst edge2_x  = a_edges[other_x];\\n\\t\\t\\t\\tconst edge2_y  = a_edges[other_y];\\n\\t\\t\\t\\tconst dot2     = coord2_x * edge2_x + coord2_y * edge2_y;\\n\\t\\t\\t\\tconst region2  = dot2 < 0 ? -1 : dot2 > edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0;\\n\\n\\t\\t\\t\\tif(region2 === -region) {\\n\\t\\t\\t\\t\\tconst target_x       = left ? coord_x : coord2_x;\\n\\t\\t\\t\\t\\tconst target_y       = left ? coord_y : coord2_y;\\n\\t\\t\\t\\t\\tconst length_squared = target_x * target_x + target_y * target_y;\\n\\n\\t\\t\\t\\t\\tif(length_squared > radius_squared) {\\n\\t\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tif(result) {\\n\\t\\t\\t\\t\\t\\tconst length = Math.sqrt(length_squared);\\n\\n\\t\\t\\t\\t\\t\\ttmp_overlapping = true;\\n\\t\\t\\t\\t\\t\\ttmp_overlap     = b_radius - length;\\n\\t\\t\\t\\t\\t\\ttmp_overlap_x   = target_x / length;\\n\\t\\t\\t\\t\\t\\ttmp_overlap_y   = target_y / length;\\n\\t\\t\\t\\t\\t\\tb_in_a          = false;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tconst normal_x        = a_normals[ix];\\n\\t\\t\\t\\tconst normal_y        = a_normals[iy];\\n\\t\\t\\t\\tconst length          = coord_x * normal_x + coord_y * normal_y;\\n\\t\\t\\t\\tconst absolute_length = length < 0 ? -length : length;\\n\\n\\t\\t\\t\\tif(length > 0 && absolute_length > b_radius) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif(result) {\\n\\t\\t\\t\\t\\ttmp_overlapping = true;\\n\\t\\t\\t\\t\\ttmp_overlap     = b_radius - length;\\n\\t\\t\\t\\t\\ttmp_overlap_x   = normal_x;\\n\\t\\t\\t\\t\\ttmp_overlap_y   = normal_y;\\n\\n\\t\\t\\t\\t\\tif(b_in_a && length >= 0 || tmp_overlap < b_radius2) {\\n\\t\\t\\t\\t\\t\\tb_in_a = false;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tif(tmp_overlapping && (overlap === null || overlap > tmp_overlap)) {\\n\\t\\t\\t\\toverlap   = tmp_overlap;\\n\\t\\t\\t\\toverlap_x = tmp_overlap_x;\\n\\t\\t\\t\\toverlap_y = tmp_overlap_y;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tif(result) {\\n\\t\\tresult.a_in_b    = reverse ? b_in_a : a_in_b;\\n\\t\\tresult.b_in_a    = reverse ? a_in_b : b_in_a;\\n\\t\\tresult.overlap   = overlap;\\n\\t\\tresult.overlap_x = reverse ? -overlap_x : overlap_x;\\n\\t\\tresult.overlap_y = reverse ? -overlap_y : overlap_y;\\n\\t}\\n\\n\\treturn true;\\n}\\n\\n/**\\n * Determines if two circles are colliding\\n * @param {Circle} a The source circle to test\\n * @param {Circle} b The target circle to test against\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n */\\nfunction circleCircle(a, b, result = null) {\\n\\tconst a_radius       = a.radius * a.scale;\\n\\tconst b_radius       = b.radius * b.scale;\\n\\tconst difference_x   = b.x - a.x;\\n\\tconst difference_y   = b.y - a.y;\\n\\tconst radius_sum     = a_radius + b_radius;\\n\\tconst length_squared = difference_x * difference_x + difference_y * difference_y;\\n\\n\\tif(length_squared > radius_sum * radius_sum) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\tif(result) {\\n\\t\\tconst length = Math.sqrt(length_squared);\\n\\n\\t\\tresult.a_in_b    = a_radius <= b_radius && length <= b_radius - a_radius;\\n\\t\\tresult.b_in_a    = b_radius <= a_radius && length <= a_radius - b_radius;\\n\\t\\tresult.overlap   = radius_sum - length;\\n\\t\\tresult.overlap_x = difference_x / length;\\n\\t\\tresult.overlap_y = difference_y / length;\\n\\t}\\n\\n\\treturn true;\\n}\\n\\n/**\\n * Determines if two polygons are separated by an axis\\n * @param {Array<Number[]>} a_coords The coordinates of the polygon to test\\n * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against\\n * @param {Number} x The X direction of the axis\\n * @param {Number} y The Y direction of the axis\\n * @param {Result} [result = null] A Result object on which to store information about the collision\\n * @returns {Boolean}\\n */\\nfunction separatingAxis(a_coords, b_coords, x, y, result = null) {\\n\\tconst a_count = a_coords.length;\\n\\tconst b_count = b_coords.length;\\n\\n\\tif(!a_count || !b_count) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\tlet a_start = null;\\n\\tlet a_end   = null;\\n\\tlet b_start = null;\\n\\tlet b_end   = null;\\n\\n\\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\\n\\t\\tconst dot = a_coords[ix] * x + a_coords[iy] * y;\\n\\n\\t\\tif(a_start === null || a_start > dot) {\\n\\t\\t\\ta_start = dot;\\n\\t\\t}\\n\\n\\t\\tif(a_end === null || a_end < dot) {\\n\\t\\t\\ta_end = dot;\\n\\t\\t}\\n\\t}\\n\\n\\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\\n\\t\\tconst dot = b_coords[ix] * x + b_coords[iy] * y;\\n\\n\\t\\tif(b_start === null || b_start > dot) {\\n\\t\\t\\tb_start = dot;\\n\\t\\t}\\n\\n\\t\\tif(b_end === null || b_end < dot) {\\n\\t\\t\\tb_end = dot;\\n\\t\\t}\\n\\t}\\n\\n\\tif(a_start > b_end || a_end < b_start) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\tif(result) {\\n\\t\\tlet overlap = 0;\\n\\n\\t\\tif(a_start < b_start) {\\n\\t\\t\\tresult.a_in_b = false;\\n\\n\\t\\t\\tif(a_end < b_end) {\\n\\t\\t\\t\\toverlap       = a_end - b_start;\\n\\t\\t\\t\\tresult.b_in_a = false;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tconst option1 = a_end - b_start;\\n\\t\\t\\t\\tconst option2 = b_end - a_start;\\n\\n\\t\\t\\t\\toverlap = option1 < option2 ? option1 : -option2;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tresult.b_in_a = false;\\n\\n\\t\\t\\tif(a_end > b_end) {\\n\\t\\t\\t\\toverlap       = a_start - b_end;\\n\\t\\t\\t\\tresult.a_in_b = false;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tconst option1 = a_end - b_start;\\n\\t\\t\\t\\tconst option2 = b_end - a_start;\\n\\n\\t\\t\\t\\toverlap = option1 < option2 ? option1 : -option2;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tconst current_overlap  = result.overlap;\\n\\t\\tconst absolute_overlap = overlap < 0 ? -overlap : overlap;\\n\\n\\t\\tif(current_overlap === null || current_overlap > absolute_overlap) {\\n\\t\\t\\tconst sign = overlap < 0 ? -1 : 1;\\n\\n\\t\\t\\tresult.overlap   = absolute_overlap;\\n\\t\\t\\tresult.overlap_x = x * sign;\\n\\t\\t\\tresult.overlap_y = y * sign;\\n\\t\\t}\\n\\t}\\n\\n\\treturn false;\\n}\\n\",\n    \"static\": true,\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/src/modules/SAT.mjs\",\n    \"access\": \"public\",\n    \"description\": null,\n    \"lineNumber\": 1\n  },\n  {\n    \"__docId__\": 183,\n    \"kind\": \"function\",\n    \"name\": \"SAT\",\n    \"memberof\": \"src/modules/SAT.mjs\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/SAT.mjs~SAT\",\n    \"access\": \"private\",\n    \"export\": true,\n    \"importPath\": \"collisions/src/modules/SAT.mjs\",\n    \"importStyle\": \"SAT\",\n    \"description\": \"Determines if two bodies are colliding using the Separating Axis Theorem\",\n    \"lineNumber\": 10,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Boolean}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"a\",\n        \"description\": \"The source body to test\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"b\",\n        \"description\": \"The target body to test against\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Result\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" null\",\n        \"defaultRaw\": null,\n        \"name\": \"result\",\n        \"description\": \"A Result object on which to store information about the collision\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Boolean\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" true\",\n        \"defaultRaw\": true,\n        \"name\": \"aabb\",\n        \"description\": \"Set to false to skip the AABB test (useful if you use your own collision heuristic)\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    },\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 184,\n    \"kind\": \"function\",\n    \"name\": \"aabbAABB\",\n    \"memberof\": \"src/modules/SAT.mjs\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/SAT.mjs~aabbAABB\",\n    \"access\": \"public\",\n    \"export\": false,\n    \"importPath\": \"collisions/src/modules/SAT.mjs\",\n    \"importStyle\": null,\n    \"description\": \"Determines if two bodies' axis aligned bounding boxes are colliding\",\n    \"lineNumber\": 81,\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"a\",\n        \"description\": \"The source body to test\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\",\n          \"Polygon\",\n          \"Point\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"b\",\n        \"description\": \"The target body to test against\"\n      }\n    ],\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 185,\n    \"kind\": \"function\",\n    \"name\": \"polygonPolygon\",\n    \"memberof\": \"src/modules/SAT.mjs\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/SAT.mjs~polygonPolygon\",\n    \"access\": \"public\",\n    \"export\": false,\n    \"importPath\": \"collisions/src/modules/SAT.mjs\",\n    \"importStyle\": null,\n    \"description\": \"Determines if two polygons are colliding\",\n    \"lineNumber\": 110,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Boolean}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Polygon\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"a\",\n        \"description\": \"The source polygon to test\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Polygon\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"b\",\n        \"description\": \"The target polygon to test against\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Result\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" null\",\n        \"defaultRaw\": null,\n        \"name\": \"result\",\n        \"description\": \"A Result object on which to store information about the collision\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    },\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 186,\n    \"kind\": \"function\",\n    \"name\": \"polygonCircle\",\n    \"memberof\": \"src/modules/SAT.mjs\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/SAT.mjs~polygonCircle\",\n    \"access\": \"public\",\n    \"export\": false,\n    \"importPath\": \"collisions/src/modules/SAT.mjs\",\n    \"importStyle\": null,\n    \"description\": \"Determines if a polygon and a circle are colliding\",\n    \"lineNumber\": 158,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Boolean}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Polygon\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"a\",\n        \"description\": \"The source polygon to test\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"b\",\n        \"description\": \"The target circle to test against\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Result\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" null\",\n        \"defaultRaw\": null,\n        \"name\": \"result\",\n        \"description\": \"A Result object on which to store information about the collision\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Boolean\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" false\",\n        \"defaultRaw\": false,\n        \"name\": \"reverse\",\n        \"description\": \"Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    },\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 187,\n    \"kind\": \"function\",\n    \"name\": \"circleCircle\",\n    \"memberof\": \"src/modules/SAT.mjs\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/SAT.mjs~circleCircle\",\n    \"access\": \"public\",\n    \"export\": false,\n    \"importPath\": \"collisions/src/modules/SAT.mjs\",\n    \"importStyle\": null,\n    \"description\": \"Determines if two circles are colliding\",\n    \"lineNumber\": 291,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Boolean}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"a\",\n        \"description\": \"The source circle to test\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Circle\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"b\",\n        \"description\": \"The target circle to test against\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Result\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" null\",\n        \"defaultRaw\": null,\n        \"name\": \"result\",\n        \"description\": \"A Result object on which to store information about the collision\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    },\n    \"ignore\": true\n  },\n  {\n    \"__docId__\": 188,\n    \"kind\": \"function\",\n    \"name\": \"separatingAxis\",\n    \"memberof\": \"src/modules/SAT.mjs\",\n    \"generator\": false,\n    \"async\": false,\n    \"static\": true,\n    \"longname\": \"src/modules/SAT.mjs~separatingAxis\",\n    \"access\": \"public\",\n    \"export\": false,\n    \"importPath\": \"collisions/src/modules/SAT.mjs\",\n    \"importStyle\": null,\n    \"description\": \"Determines if two polygons are separated by an axis\",\n    \"lineNumber\": 325,\n    \"unknown\": [\n      {\n        \"tagName\": \"@returns\",\n        \"tagValue\": \"{Boolean}\"\n      }\n    ],\n    \"params\": [\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Array<Number[]>\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"a_coords\",\n        \"description\": \"The coordinates of the polygon to test\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Array<Number[]>\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"b_coords\",\n        \"description\": \"The coordinates of the polygon to test against\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"x\",\n        \"description\": \"The X direction of the axis\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Number\"\n        ],\n        \"spread\": false,\n        \"optional\": false,\n        \"name\": \"y\",\n        \"description\": \"The Y direction of the axis\"\n      },\n      {\n        \"nullable\": null,\n        \"types\": [\n          \"Result\"\n        ],\n        \"spread\": false,\n        \"optional\": true,\n        \"defaultValue\": \" null\",\n        \"defaultRaw\": null,\n        \"name\": \"result\",\n        \"description\": \"A Result object on which to store information about the collision\"\n      }\n    ],\n    \"return\": {\n      \"nullable\": null,\n      \"types\": [\n        \"Boolean\"\n      ],\n      \"spread\": false,\n      \"description\": \"\"\n    },\n    \"ignore\": true\n  },\n  {\n    \"kind\": \"index\",\n    \"content\": \"Collisions\\n===============================================================================\\n\\n**Collisions** is a JavaScript library for quickly and accurately detecting collisions between Polygons, Circles, and Points. It combines the efficiency of a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for broad-phase searching and the accuracy of the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for narrow-phase collision testing.\\n\\n* [Installation](#anchor-installation)\\n* [Documentation](#anchor-documentation)\\n* [Demos](#anchor-demos)\\n* [Usage](#anchor-usage)\\n* [Getting Started](#anchor-getting-started)\\n\\t1. [Creating a Collision System](#anchor-step-1)\\n\\t2. [Creating, Inserting, Updating, and Removing Bodies](#anchor-step-2)\\n\\t3. [Updating the Collision System](#anchor-step-3)\\n\\t4. [Testing for Collisions](#anchor-step-4)\\n\\t5. [Getting Detailed Collision Information](#anchor-step-5)\\n\\t6. [Negating Overlap](#anchor-step-6)\\n* [Lines](#anchor-lines)\\n* [Concave Polygons](#anchor-concave-polygons)\\n* [Rendering](#anchor-rendering)\\n* [Bounding Volume Padding](#anchor-bounding-volume-padding)\\n* [Only using SAT](#anchor-only-using-sat)\\n* [FAQ](#anchor-faq)\\n\\n<a name=\\\"anchor-installation\\\"></a>\\nInstallation\\n===============================================================================\\n\\n```bash\\nnpm install collisions\\n```\\n\\n> **Note:** This library uses the native ECMAScript Module syntax. Most environments support native modules, but the following exceptions apply:\\n>\\n> * Node.js (9.2.0) requires the [--experimental-modules](https://nodejs.org/api/esm.html) flag\\n> * Firefox (54) requires the [dom.moduleScripts.enabled](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Browser_compatibility) setting\\n>\\n> Bundling solutions such as [Webpack](https://webpack.js.org/) or [Rollup.js](https://rollupjs.org/) make native modules compatible with all environments.\\n\\n<a name=\\\"anchor-documentation\\\"></a>\\nDocumentation\\n===============================================================================\\n\\nView the [documentation](https://sinova.github.com/Collisions/) (this README is also there).\\n\\n<a name=\\\"anchor-demos\\\"></a>\\nDemos\\n===============================================================================\\n\\n* [Tank](https://sinova.github.com/Collisions/demo/)\\n* [Stress Test](https://sinova.github.com/Collisions/demo/?stress)\\n\\n<a name=\\\"anchor-usage\\\"></a>\\nUsage\\n===============================================================================\\n\\n```JavaScript\\nimport Collisions from 'collisions';\\n\\n// Create the collision system\\nconst system = new Collisions();\\n\\n// Create a Result object for collecting information about the collisions\\nconst result = system.createResult();\\n\\n// Create the player (represented by a Circle)\\nconst player = system.createCircle(100, 100, 10);\\n\\n// Create some walls (represented by Polygons)\\nconst wall1 = system.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);\\nconst wall2 = system.createPolygon(200, 100, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 2.2);\\nconst wall3 = system.createPolygon(400, 50, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 0.7);\\n\\n// Update the collision system\\nsystem.update();\\n\\n// Get any potential collisions (this quickly rules out walls that have no chance of colliding with the player)\\nconst potentials = player.potentials();\\n\\n// Loop through the potential wall collisions\\nfor(const wall of potentials) {\\n\\t// Test if the player collides with the wall\\n\\tif(player.collides(wall, result)) {\\n\\t\\t// Push the player out of the wall\\n\\t\\tplayer.x -= result.overlap * result.overlap_x;\\n\\t\\tplayer.y -= result.overlap * result.overlap_y;\\n\\t}\\n}\\n```\\n\\n<a name=\\\"anchor-getting-started\\\"></a>\\nGetting Started\\n===============================================================================\\n\\n<a name=\\\"anchor-step-1\\\"></a>\\n## 1. Creating a Collision System\\n\\n**Collisions** provides functions for performing both broad-phase and narrow-phase collision tests. In order to take full advantage of both phases, bodies need to be tracked within a collision system.\\n\\nCall the Collisions constructor to create a collision system.\\n\\n```JavaScript\\nimport Collisions from 'collisions';\\n\\nconst system = new Collisions();\\n```\\n\\n<a name=\\\"anchor-step-2\\\"></a>\\n## 2. Creating, Inserting, Updating, and Removing Bodies\\n\\n**Collisions** supports the following body types:\\n\\n* **Circle:** A shape with infinite sides equidistant from a single point\\n* **Polygon:** A shape made up of line segments\\n* **Point:** A single coordinate\\n\\nTo use them, import the desired body class, call its constructor, and insert it into the collision system using `insert()`.\\n\\n```JavaScript\\nimport {Collisions, Circle, Polygon, Point} from 'collisions';\\n\\nconst system = new Collisions();\\n\\nconst circle  = new Circle(100, 100, 10);\\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\\nconst line    = new Polygon(200, 5, [[-30, 0], [10, 20]]);\\nconst point   = new Point(10, 10);\\n\\nsystem.insert(circle)\\nsystem.insert(polygon, line, point);\\n```\\n\\nCollision systems expose several convenience functions for creating bodies and inserting them into the system in one step. This also avoids having to import the different body classes.\\n\\n```JavaScript\\nimport Collisions from 'collisions';\\n\\nconst system = new Collisions();\\n\\nconst circle  = system.createCircle(100, 100, 10);\\nconst polygon = system.createPolygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\\nconst line    = system.createPolygon(200, 5, [[-30, 0], [10, 20]]);\\nconst point   = system.createPoint(10, 10);\\n```\\n\\nAll bodies have `x` and `y` properties that can be manipulated. Additionally, `Circle` bodies have a `scale` property that can be used to scale their overall size. `Polygon` bodies have `scale_x` and `scale_y` properties to scale their points along a particular axis and an `angle` property to rotate their points around their current position (using radians).\\n\\n```JavaScript\\ncircle.x     = 20;\\ncircle.y     = 30;\\ncircle.scale = 1.5;\\n\\npolygon.x       = 40;\\npolygon.y       = 100;\\npolygon.scale_x = 1.2;\\npolygon.scale_y = 3.4;\\npolygon.angle   = 1.2;\\n```\\n\\nAnd, of course, bodies can be removed when they are no longer needed.\\n\\n```JavaScript\\nsystem.remove(polygon, point);\\ncircle.remove();\\n```\\n\\n<a name=\\\"anchor-step-3\\\"></a>\\n## 3. Updating the Collision System\\n\\nCollision systems need to be updated when the bodies within them change. This includes when bodies are inserted, removed, or when their properties change (e.g. position, angle, scaling, etc.). Updating a collision system is done by calling `update()` and should typically occur once per frame.\\n\\n```JavaScript\\nsystem.update();\\n```\\n\\nThe optimal time for updating a collision system is **after** its bodies have changed and **before** collisions are tested. For example, a game loop might use the following order of events:\\n\\n```JavaScript\\nfunction gameLoop() {\\n\\thandleInput();\\n\\tprocessGameLogic();\\n\\n\\tsystem.update();\\n\\n\\thandleCollisions();\\n\\trender();\\n}\\n```\\n\\n<a name=\\\"anchor-step-4\\\"></a>\\n## 4. Testing for Collisions\\n\\nWhen testing for collisions on a body, it is generally recommended that a broad-phase search be performed first by calling `potentials()` in order to quickly rule out bodies that are too far away to collide. **Collisions** uses a [Bounding Volume Hierarchy](https://en.wikipedia.org/wiki/Bounding_volume_hierarchy) (BVH) for its broad-phase search. Calling `potentials()` on a body traverses the BVH and builds a list of potential collision candidates.\\n\\n```JavaScript\\nconst potentials = polygon.potentials();\\n```\\n\\nOnce a list of potential collisions is acquired, loop through them and perform a narrow-phase collision test using `collides()`. **Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests.\\n\\n```JavaScript\\nconst potentials = polygon.potentials();\\n\\nfor(const body of potentials) {\\n\\tif(polygon.collides(body)) {\\n\\t\\tconsole.log('Collision detected!');\\n\\t}\\n}\\n```\\n\\nIt is also possible to skip the broad-phase search entirely and call `collides()` directly on two bodies.\\n\\n> **Note:** Skipping the broad-phase search is not recommended. When testing for collisions against large numbers of bodies, performing a broad-phase search using a BVH is *much* more efficient.\\n\\n```JavaScript\\nif(polygon.collides(line)) {\\n\\tconsole.log('Collision detected!');\\n}\\n```\\n\\n<a name=\\\"anchor-step-5\\\"></a>\\n## 5. Getting Detailed Collision Information\\n\\nThere is often a need for detailed information about a collision in order to react to it appropriately. This information is stored using a `Result` object. `Result` objects have several properties set on them when a collision occurs, all of which are described in the [documentation](https://sinova.github.com/Collisions/).\\n\\nFor convenience, there are several ways to create a `Result` object. `Result` objects do not belong to any particular collision system, so any of the following methods for creating one can be used interchangeably. This also means the same `Result` object can be used for collisions across multiple systems.\\n\\n> **Note:** It is highly recommended that `Result` objects be recycled when performing multiple collision tests in order to save memory. The following example creates multiple `Result` objects strictly as a demonstration.\\n\\n```JavaScript\\nimport {Collisions, Result, Polygon} from 'collisions';\\n\\nconst system     = new Collisions();\\nconst my_polygon = new Polygon(100, 100, 10);\\n\\nconst result1 = new Result();\\nconst result2 = Collisions.createResult();\\nconst result3 = system.createResult();\\nconst result4 = Polygon.createResult();\\nconst result5 = my_polygon.createResult();\\n```\\n\\nTo use a `Result` object, pass it into `collides()`. If a collision occurs, it will be populated with information about the collision. Take note in the following example that the same `Result` object is being reused each iteration.\\n\\n```JavaScript\\nconst result     = system.createResult();\\nconst potentials = point.potentials();\\n\\nfor(const body of potentials) {\\n\\tif(point.collides(body, result)) {\\n\\t\\tconsole.log(result);\\n\\t}\\n}\\n```\\n\\n<a name=\\\"anchor-step-6\\\"></a>\\n## 6. Negating Overlap\\n\\nA common use-case in collision detection is negating overlap when a collision occurs (such as when a player hits a wall). This can be done using the collision information in a `Result` object (see [Getting Detailed Collision Information](#anchor-getting-detailed-collision-information)).\\n\\nThe three most useful properties on a `Result` object are `overlap`, `overlap_x`, and `overlap_y`. Together, these values describe how much and in what direction the source body is overlapping the target body. More specifically, `overlap_x` and `overlap_y` describe the direction vector, and `overlap` describes the magnitude of that vector.\\n\\nThese values can be used to \\\"push\\\" one body out of another using the minimum distance required. More simply, subtracting this vector from the source body's position will cause the bodies to no longer collide. Here's an example:\\n\\n```JavaScript\\nif(player.collides(wall, result)) {\\n\\tplayer.x -= result.overlap * result.overlap_x;\\n\\tplayer.y -= result.overlap * result.overlap_y;\\n}\\n```\\n\\n<a name=\\\"anchor-lines\\\"></a>\\nLines\\n===============================================================================\\n\\nCreating a line is simply a matter of creating a single-sided polygon (i.e. a polygon with only two coordinate pairs).\\n\\n```JavaScript\\nconst line = new Polygon(200, 5, [[-30, 0], [10, 20]]);\\n```\\n\\n<a name=\\\"anchor-concave-polygons\\\"></a>\\nConcave Polygons\\n===============================================================================\\n\\n**Collisions** uses the [Separating Axis Theorem](https://en.wikipedia.org/wiki/Separating_axis_theorem) (SAT) for its narrow-phase collision tests. One caveat to SAT is that it only works properly on convex bodies. However, concave polygons can be \\\"faked\\\" by using a series of [Lines](#anchor-lines). Keep in mind that a polygon drawn using [Lines](#anchor-lines) is \\\"hollow\\\".\\n\\nHandling true concave polygons requires breaking them down into their component convex polygons (Convex Decomposition) and testing them for collisions individually. There are plans to integrate this functionality into the library in the future, but for now, check out [poly-decomp.js](https://github.com/schteppe/poly-decomp.js).\\n\\n<a name=\\\"anchor-rendering\\\"></a>\\nRendering\\n===============================================================================\\n\\nFor debugging, it is often useful to be able to visualize the collision bodies. All of the bodies in a Collision system can be drawn to a `<canvas>` element by calling `draw()` and passing in the canvas' 2D context.\\n\\n```JavaScript\\nconst canvas  = document.createElement('canvas');\\nconst context = canvas.getContext('2d');\\n\\n// ...\\ncontext.strokeStyle = '#FFFFFF';\\ncontext.beginPath();\\n\\nsystem.draw(context);\\n\\ncontext.stroke();\\n```\\n\\nBodies can be individually drawn as well.\\n\\n```JavaScript\\ncontext.strokeStyle = '#FFFFFF';\\ncontext.beginPath();\\n\\npolygon.draw(context);\\ncircle.draw(context);\\n\\ncontext.stroke();\\n```\\n\\nThe BVH can also be drawn to help test [Bounding Volume Padding](#anchor-bounding-volume-padding).\\n\\n```JavaScript\\ncontext.strokeStyle = '#FFFFFF';\\ncontext.beginPath();\\n\\nsystem.drawBVH(context);\\n\\ncontext.stroke();\\n```\\n\\n<a name=\\\"anchor-bounding-volume-padding\\\"></a>\\nBounding Volume Padding\\n===============================================================================\\n\\nWhen bodies move around within a collision system, the internal BVH has to remove and reinsert the body in order to determine where it belongs in the hierarchy. This is one of the most costly operations in maintaining a BVH. In general, most projects will never see a performance issue from this unless they are dealing with thousands of moving bodies at once. In these cases, it can *sometimes* be beneficial to \\\"pad\\\" the bounding volumes of each body so that the BVH doesn't need to remove and reinsert bodies that haven't changed position too much. In other words, padding the bounding volume allows \\\"breathing room\\\" for the body within it to move around without being flagged for an update.\\n\\nThe tradeoff is that the slightly larger bounding volumes can trigger more false-positives during the broad-phase `potentials()` search. While the narrow phase will ultimately rule these out using Axis Aligned Bounding Box tests, putting too much padding on bodies that are crowded can lead to too many false positives and a diminishing return in performance. It is up to the developer to determine how much padding each body will need based on how much it can move within a single frame and how crowded the bodies in the system are.\\n\\nPadding can be added to a body when instantiating it (see the [documentation](https://sinova.github.com/Collisions/) for each body) or at any time by changing its `padding` property.\\n\\n```JavaScript\\nconst padding = 5;\\nconst circle  = new Circle(100, 100, 10, 1, padding);\\n\\n// ...\\n\\ncircle.padding = 10;\\n```\\n\\n<a name=\\\"anchor-only-using-sat\\\"></a>\\nOnly using SAT\\n===============================================================================\\n\\nSome projects may only have a need to perform SAT collision tests without broad-phase searching. This can be achieved by avoiding collision systems altogether and only using the `collides()` function.\\n\\n```JavaScript\\nimport {Circle, Polygon, Result} from 'collisions';\\n\\nconst circle  = new Circle(45, 45, 20);\\nconst polygon = new Polygon(50, 50, [[0, 0], [20, 20], [-10, 10]]);\\nconst result  = new Result();\\n\\nif(circle.collides(polygon, result)) {\\n\\tconsole.log(result);\\n}\\n```\\n\\n<a name=\\\"anchor-faq\\\"></a>\\nFAQ\\n===============================================================================\\n\\n## Why shouldn't I just use a physics engine?\\n\\nProjects requiring physics are encouraged to use one of the several physics engines out there (e.g. [Matter.js](https://github.com/liabru/matter-js), [Planck.js](https://github.com/shakiba/planck.js)). However, many projects end up using physics engines solely for collision detection, and developers often find themselves having to work around some of the assumptions that these engines make (gravity, velocity, friction, etc.). **Collisions** was created to provide robust collision detection and nothing more. In fact, a physics engine could easily be written with **Collisions** at its core.\\n\\n## Why does the source code seem to have quite a bit of copy/paste?\\n\\n**Collisions** was written with performance as its primary focus. Conscious decisions were made to sacrifice readability in order to avoid the overhead of unnecessary function calls or property lookups.\\n\\n## Sometimes bodies can \\\"squeeze\\\" between two other bodies. What's going on?\\n\\nThis isn't caused by faulty collisions, but rather how a project handles its collision responses. There are several ways to go about responding to collisions, the most common of which is to loop through all bodies, find their potential collisions, and negate any overlaps that are found one at a time. Since the overlaps are negated one at a time, the last negation takes precedence and can cause the body to be pushed into another body.\\n\\nOne workaround is to resolve each collision, update the collision system, and repeat until no collisions are found. Keep in mind that this can potentially lead to infinite loops if the two colliding bodies equally negate each other. Another solution is to collect all overlaps and combine them into a single resultant vector and then push the body out, but this can get rather complicated.\\n\\nThere is no perfect solution. How collisions are handled depends on the project.\\n\",\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/README.md\",\n    \"name\": \"./README.md\",\n    \"static\": true,\n    \"access\": \"public\"\n  },\n  {\n    \"kind\": \"packageJSON\",\n    \"content\": \"{\\n\\t\\\"name\\\": \\\"collisions\\\",\\n\\t\\\"version\\\": \\\"2.0.12\\\",\\n\\t\\\"description\\\": \\\"Collision detection for circles, polygons, and points\\\",\\n\\t\\\"main\\\": \\\"src/Collisions.mjs\\\",\\n\\t\\\"scripts\\\": {\\n\\t\\t\\\"build\\\": \\\"rm -rf ./docs/* && esdoc && webpack\\\"\\n\\t},\\n\\t\\\"repository\\\": {\\n\\t\\t\\\"type\\\": \\\"git\\\",\\n\\t\\t\\\"url\\\": \\\"git+https://github.com/Sinova/Collisions.git\\\"\\n\\t},\\n\\t\\\"keywords\\\": [\\n\\t\\t\\\"Collision\\\",\\n\\t\\t\\\"Separating Axis Theorem\\\",\\n\\t\\t\\\"Bounding Volume Hierarchy\\\",\\n\\t\\t\\\"SAT\\\",\\n\\t\\t\\\"BVH\\\",\\n\\t\\t\\\"Circle\\\",\\n\\t\\t\\\"Polygon\\\",\\n\\t\\t\\\"Line\\\",\\n\\t\\t\\\"Shape\\\",\\n\\t\\t\\\"Separating\\\",\\n\\t\\t\\\"Axis\\\",\\n\\t\\t\\\"Theorem\\\",\\n\\t\\t\\\"Bounding\\\",\\n\\t\\t\\\"Volume\\\",\\n\\t\\t\\\"Hierarchy\\\"\\n\\t],\\n\\t\\\"author\\\": \\\"Samuel Hodge\\\",\\n\\t\\\"license\\\": \\\"MIT\\\",\\n\\t\\\"bugs\\\": {\\n\\t\\t\\\"url\\\": \\\"https://github.com/Sinova/Collisions/issues\\\"\\n\\t},\\n\\t\\\"homepage\\\": \\\"https://github.com/Sinova/Collisions#readme\\\",\\n\\t\\\"devDependencies\\\": {\\n\\t\\t\\\"esdoc\\\": \\\"^1.0.4\\\",\\n\\t\\t\\\"esdoc-standard-plugin\\\": \\\"^1.0.0\\\",\\n\\t\\t\\\"html-webpack-plugin\\\": \\\"^2.30.1\\\",\\n\\t\\t\\\"npm\\\": \\\"^5.5.1\\\",\\n\\t\\t\\\"webpack\\\": \\\"^3.9.0\\\"\\n\\t}\\n}\\n\",\n    \"longname\": \"/mnt/c/Users/sam/projects/Collisions/package.json\",\n    \"name\": \"package.json\",\n    \"static\": true,\n    \"access\": \"public\"\n  }\n]"
  },
  {
    "path": "docs/script/inherited-summary.js",
    "content": "(function(){\n  function toggle(ev) {\n    var button = ev.target;\n    var parent = ev.target.parentElement;\n    while(parent) {\n      if (parent.tagName === 'TABLE' && parent.classList.contains('summary')) break;\n      parent = parent.parentElement;\n    }\n\n    if (!parent) return;\n\n    var tbody = parent.querySelector('tbody');\n    if (button.classList.contains('opened')) {\n      button.classList.remove('opened');\n      button.classList.add('closed');\n      tbody.style.display = 'none';\n    } else {\n      button.classList.remove('closed');\n      button.classList.add('opened');\n      tbody.style.display = 'block';\n    }\n  }\n\n  var buttons = document.querySelectorAll('.inherited-summary thead .toggle');\n  for (var i = 0; i < buttons.length; i++) {\n    buttons[i].addEventListener('click', toggle);\n  }\n})();\n"
  },
  {
    "path": "docs/script/inner-link.js",
    "content": "// inner link(#foo) can not correctly scroll, because page has fixed header,\n// so, I manually scroll.\n(function(){\n  var matched = location.hash.match(/errorLines=([\\d,]+)/);\n  if (matched) return;\n\n  function adjust() {\n    window.scrollBy(0, -55);\n    var el = document.querySelector('.inner-link-active');\n    if (el) el.classList.remove('inner-link-active');\n\n    // ``[ ] . ' \" @`` are not valid in DOM id. so must escape these.\n    var id = location.hash.replace(/([\\[\\].'\"@$])/g, '\\\\$1');\n    var el = document.querySelector(id);\n    if (el) el.classList.add('inner-link-active');\n  }\n\n  window.addEventListener('hashchange', adjust);\n\n  if (location.hash) {\n    setTimeout(adjust, 0);\n  }\n})();\n\n(function(){\n  var els = document.querySelectorAll('[href^=\"#\"]');\n  var href = location.href.replace(/#.*$/, ''); // remove existed hash\n  for (var i = 0; i < els.length; i++) {\n    var el = els[i];\n    el.href = href + el.getAttribute('href'); // because el.href is absolute path\n  }\n})();\n"
  },
  {
    "path": "docs/script/manual.js",
    "content": "(function(){\n  var matched = location.pathname.match(/\\/(manual\\/.*\\.html)$/);\n  if (!matched) return;\n\n  var currentName = matched[1];\n  var cssClass = '.navigation .manual-toc li[data-link=\"' + currentName + '\"]';\n  var styleText = cssClass + '{ display: block; }\\n';\n  styleText += cssClass + '.indent-h1 a { color: #039BE5 }';\n  var style = document.createElement('style');\n  style.textContent = styleText;\n  document.querySelector('head').appendChild(style);\n})();\n"
  },
  {
    "path": "docs/script/patch-for-local.js",
    "content": "(function(){\n  if (location.protocol === 'file:') {\n    var elms = document.querySelectorAll('a[href=\"./\"]');\n    for (var i = 0; i < elms.length; i++) {\n      elms[i].href = './index.html';\n    }\n  }\n})();\n"
  },
  {
    "path": "docs/script/prettify/Apache-License-2.0.txt",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "docs/script/prettify/prettify.js",
    "content": "!function(){/*\n\n Copyright (C) 2006 Google Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n      http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nwindow.PR_SHOULD_USE_CONTINUATION=!0;\n(function(){function T(a){function d(e){var b=e.charCodeAt(0);if(92!==b)return b;var a=e.charAt(1);return(b=w[a])?b:\"0\"<=a&&\"7\">=a?parseInt(e.substring(1),8):\"u\"===a||\"x\"===a?parseInt(e.substring(2),16):e.charCodeAt(1)}function f(e){if(32>e)return(16>e?\"\\\\x0\":\"\\\\x\")+e.toString(16);e=String.fromCharCode(e);return\"\\\\\"===e||\"-\"===e||\"]\"===e||\"^\"===e?\"\\\\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]/g);e=\n[];var a=\"^\"===b[0],c=[\"[\"];a&&c.push(\"^\");for(var a=a?1:0,g=b.length;a<g;++a){var h=b[a];if(/\\\\[bdsw]/i.test(h))c.push(h);else{var h=d(h),k;a+2<g&&\"-\"===b[a+1]?(k=d(b[a+2]),a+=2):k=h;e.push([h,k]);65>k||122<h||(65>k||90<h||e.push([Math.max(65,h)|32,Math.min(k,90)|32]),97>k||122<h||e.push([Math.max(97,h)&-33,Math.min(k,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];g=[];for(a=0;a<e.length;++a)h=e[a],h[0]<=g[1]+1?g[1]=Math.max(g[1],h[1]):b.push(g=h);for(a=0;a<b.length;++a)h=b[a],\nc.push(f(h[0])),h[1]>h[0]&&(h[1]+1>h[0]&&c.push(\"-\"),c.push(f(h[1])));c.push(\"]\");return c.join(\"\")}function v(e){for(var a=e.source.match(/(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)/g),c=a.length,d=[],g=0,h=0;g<c;++g){var k=a[g];\"(\"===k?++h:\"\\\\\"===k.charAt(0)&&(k=+k.substring(1))&&(k<=h?d[k]=-1:a[g]=f(k))}for(g=1;g<d.length;++g)-1===d[g]&&(d[g]=++A);for(h=g=0;g<c;++g)k=a[g],\"(\"===k?(++h,d[h]||(a[g]=\"(?:\")):\"\\\\\"===\nk.charAt(0)&&(k=+k.substring(1))&&k<=h&&(a[g]=\"\\\\\"+d[k]);for(g=0;g<c;++g)\"^\"===a[g]&&\"^\"!==a[g+1]&&(a[g]=\"\");if(e.ignoreCase&&n)for(g=0;g<c;++g)k=a[g],e=k.charAt(0),2<=k.length&&\"[\"===e?a[g]=b(k):\"\\\\\"!==e&&(a[g]=k.replace(/[a-zA-Z]/g,function(a){a=a.charCodeAt(0);return\"[\"+String.fromCharCode(a&-33,a|32)+\"]\"}));return a.join(\"\")}for(var A=0,n=!1,l=!1,m=0,c=a.length;m<c;++m){var p=a[m];if(p.ignoreCase)l=!0;else if(/[a-z]/i.test(p.source.replace(/\\\\u[0-9a-f]{4}|\\\\x[0-9a-f]{2}|\\\\[^ux]/gi,\"\"))){n=!0;\nl=!1;break}}for(var w={b:8,t:9,n:10,v:11,f:12,r:13},r=[],m=0,c=a.length;m<c;++m){p=a[m];if(p.global||p.multiline)throw Error(\"\"+p);r.push(\"(?:\"+v(p)+\")\")}return new RegExp(r.join(\"|\"),l?\"gi\":\"g\")}function U(a,d){function f(a){var c=a.nodeType;if(1==c){if(!b.test(a.className)){for(c=a.firstChild;c;c=c.nextSibling)f(c);c=a.nodeName.toLowerCase();if(\"br\"===c||\"li\"===c)v[l]=\"\\n\",n[l<<1]=A++,n[l++<<1|1]=a}}else if(3==c||4==c)c=a.nodeValue,c.length&&(c=d?c.replace(/\\r\\n?/g,\"\\n\"):c.replace(/[ \\t\\r\\n]+/g,\n\" \"),v[l]=c,n[l<<1]=A,A+=c.length,n[l++<<1|1]=a)}var b=/(?:^|\\s)nocode(?:\\s|$)/,v=[],A=0,n=[],l=0;f(a);return{a:v.join(\"\").replace(/\\n$/,\"\"),c:n}}function J(a,d,f,b,v){f&&(a={h:a,l:1,j:null,m:null,a:f,c:null,i:d,g:null},b(a),v.push.apply(v,a.g))}function V(a){for(var d=void 0,f=a.firstChild;f;f=f.nextSibling)var b=f.nodeType,d=1===b?d?a:f:3===b?W.test(f.nodeValue)?a:d:d;return d===a?void 0:d}function G(a,d){function f(a){for(var l=a.i,m=a.h,c=[l,\"pln\"],p=0,w=a.a.match(v)||[],r={},e=0,t=w.length;e<\nt;++e){var z=w[e],q=r[z],g=void 0,h;if(\"string\"===typeof q)h=!1;else{var k=b[z.charAt(0)];if(k)g=z.match(k[1]),q=k[0];else{for(h=0;h<A;++h)if(k=d[h],g=z.match(k[1])){q=k[0];break}g||(q=\"pln\")}!(h=5<=q.length&&\"lang-\"===q.substring(0,5))||g&&\"string\"===typeof g[1]||(h=!1,q=\"src\");h||(r[z]=q)}k=p;p+=z.length;if(h){h=g[1];var B=z.indexOf(h),D=B+h.length;g[2]&&(D=z.length-g[2].length,B=D-h.length);q=q.substring(5);J(m,l+k,z.substring(0,B),f,c);J(m,l+k+B,h,K(q,h),c);J(m,l+k+D,z.substring(D),f,c)}else c.push(l+\nk,q)}a.g=c}var b={},v;(function(){for(var f=a.concat(d),l=[],m={},c=0,p=f.length;c<p;++c){var w=f[c],r=w[3];if(r)for(var e=r.length;0<=--e;)b[r.charAt(e)]=w;w=w[1];r=\"\"+w;m.hasOwnProperty(r)||(l.push(w),m[r]=null)}l.push(/[\\0-\\uffff]/);v=T(l)})();var A=d.length;return f}function y(a){var d=[],f=[];a.tripleQuotedStrings?d.push([\"str\",/^(?:\\'\\'\\'(?:[^\\'\\\\]|\\\\[\\s\\S]|\\'{1,2}(?=[^\\']))*(?:\\'\\'\\'|$)|\\\"\\\"\\\"(?:[^\\\"\\\\]|\\\\[\\s\\S]|\\\"{1,2}(?=[^\\\"]))*(?:\\\"\\\"\\\"|$)|\\'(?:[^\\\\\\']|\\\\[\\s\\S])*(?:\\'|$)|\\\"(?:[^\\\\\\\"]|\\\\[\\s\\S])*(?:\\\"|$))/,\nnull,\"'\\\"\"]):a.multiLineStrings?d.push([\"str\",/^(?:\\'(?:[^\\\\\\']|\\\\[\\s\\S])*(?:\\'|$)|\\\"(?:[^\\\\\\\"]|\\\\[\\s\\S])*(?:\\\"|$)|\\`(?:[^\\\\\\`]|\\\\[\\s\\S])*(?:\\`|$))/,null,\"'\\\"`\"]):d.push([\"str\",/^(?:\\'(?:[^\\\\\\'\\r\\n]|\\\\.)*(?:\\'|$)|\\\"(?:[^\\\\\\\"\\r\\n]|\\\\.)*(?:\\\"|$))/,null,\"\\\"'\"]);a.verbatimStrings&&f.push([\"str\",/^@\\\"(?:[^\\\"]|\\\"\\\")*(?:\\\"|$)/,null]);var b=a.hashComments;b&&(a.cStyleComments?(1<b?d.push([\"com\",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,\"#\"]):d.push([\"com\",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\\b|[^\\r\\n]*)/,\nnull,\"#\"]),f.push([\"str\",/^<(?:(?:(?:\\.\\.\\/)*|\\/?)(?:[\\w-]+(?:\\/[\\w-]+)+)?[\\w-]+\\.h(?:h|pp|\\+\\+)?|[a-z]\\w*)>/,null])):d.push([\"com\",/^#[^\\r\\n]*/,null,\"#\"]));a.cStyleComments&&(f.push([\"com\",/^\\/\\/[^\\r\\n]*/,null]),f.push([\"com\",/^\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,null]));if(b=a.regexLiterals){var v=(b=1<b?\"\":\"\\n\\r\")?\".\":\"[\\\\S\\\\s]\";f.push([\"lang-regex\",RegExp(\"^(?:^^\\\\.?|[+-]|[!=]=?=?|\\\\#|%=?|&&?=?|\\\\(|\\\\*=?|[+\\\\-]=|->|\\\\/=?|::?|<<?=?|>>?>?=?|,|;|\\\\?|@|\\\\[|~|{|\\\\^\\\\^?=?|\\\\|\\\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\\\s*(\"+\n(\"/(?=[^/*\"+b+\"])(?:[^/\\\\x5B\\\\x5C\"+b+\"]|\\\\x5C\"+v+\"|\\\\x5B(?:[^\\\\x5C\\\\x5D\"+b+\"]|\\\\x5C\"+v+\")*(?:\\\\x5D|$))+/\")+\")\")])}(b=a.types)&&f.push([\"typ\",b]);b=(\"\"+a.keywords).replace(/^ | $/g,\"\");b.length&&f.push([\"kwd\",new RegExp(\"^(?:\"+b.replace(/[\\s,]+/g,\"|\")+\")\\\\b\"),null]);d.push([\"pln\",/^\\s+/,null,\" \\r\\n\\t\\u00a0\"]);b=\"^.[^\\\\s\\\\w.$@'\\\"`/\\\\\\\\]*\";a.regexLiterals&&(b+=\"(?!s*/)\");f.push([\"lit\",/^@[a-z_$][a-z_$@0-9]*/i,null],[\"typ\",/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\\w+_t\\b)/,null],[\"pln\",/^[a-z_$][a-z_$@0-9]*/i,\nnull],[\"lit\",/^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*/i,null,\"0123456789\"],[\"pln\",/^\\\\[\\s\\S]?/,null],[\"pun\",new RegExp(b),null]);return G(d,f)}function L(a,d,f){function b(a){var c=a.nodeType;if(1==c&&!A.test(a.className))if(\"br\"===a.nodeName)v(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((3==c||4==c)&&f){var d=a.nodeValue,q=d.match(n);q&&(c=d.substring(0,q.index),a.nodeValue=c,(d=d.substring(q.index+q[0].length))&&\na.parentNode.insertBefore(l.createTextNode(d),a.nextSibling),v(a),c||a.parentNode.removeChild(a))}}function v(a){function b(a,c){var d=c?a.cloneNode(!1):a,k=a.parentNode;if(k){var k=b(k,1),e=a.nextSibling;k.appendChild(d);for(var f=e;f;f=e)e=f.nextSibling,k.appendChild(f)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;a=b(a.nextSibling,0);for(var d;(d=a.parentNode)&&1===d.nodeType;)a=d;c.push(a)}for(var A=/(?:^|\\s)nocode(?:\\s|$)/,n=/\\r\\n?|\\n/,l=a.ownerDocument,m=l.createElement(\"li\");a.firstChild;)m.appendChild(a.firstChild);\nfor(var c=[m],p=0;p<c.length;++p)b(c[p]);d===(d|0)&&c[0].setAttribute(\"value\",d);var w=l.createElement(\"ol\");w.className=\"linenums\";d=Math.max(0,d-1|0)||0;for(var p=0,r=c.length;p<r;++p)m=c[p],m.className=\"L\"+(p+d)%10,m.firstChild||m.appendChild(l.createTextNode(\"\\u00a0\")),w.appendChild(m);a.appendChild(w)}function t(a,d){for(var f=d.length;0<=--f;){var b=d[f];I.hasOwnProperty(b)?E.console&&console.warn(\"cannot override language handler %s\",b):I[b]=a}}function K(a,d){a&&I.hasOwnProperty(a)||(a=/^\\s*</.test(d)?\n\"default-markup\":\"default-code\");return I[a]}function M(a){var d=a.j;try{var f=U(a.h,a.l),b=f.a;a.a=b;a.c=f.c;a.i=0;K(d,b)(a);var v=/\\bMSIE\\s(\\d+)/.exec(navigator.userAgent),v=v&&8>=+v[1],d=/\\n/g,A=a.a,n=A.length,f=0,l=a.c,m=l.length,b=0,c=a.g,p=c.length,w=0;c[p]=n;var r,e;for(e=r=0;e<p;)c[e]!==c[e+2]?(c[r++]=c[e++],c[r++]=c[e++]):e+=2;p=r;for(e=r=0;e<p;){for(var t=c[e],z=c[e+1],q=e+2;q+2<=p&&c[q+1]===z;)q+=2;c[r++]=t;c[r++]=z;e=q}c.length=r;var g=a.h;a=\"\";g&&(a=g.style.display,g.style.display=\"none\");\ntry{for(;b<m;){var h=l[b+2]||n,k=c[w+2]||n,q=Math.min(h,k),B=l[b+1],D;if(1!==B.nodeType&&(D=A.substring(f,q))){v&&(D=D.replace(d,\"\\r\"));B.nodeValue=D;var N=B.ownerDocument,u=N.createElement(\"span\");u.className=c[w+1];var y=B.parentNode;y.replaceChild(u,B);u.appendChild(B);f<h&&(l[b+1]=B=N.createTextNode(A.substring(q,h)),y.insertBefore(B,u.nextSibling))}f=q;f>=h&&(b+=2);f>=k&&(w+=2)}}finally{g&&(g.style.display=a)}}catch(x){E.console&&console.log(x&&x.stack||x)}}var E=window,C=[\"break,continue,do,else,for,if,return,while\"],\nF=[[C,\"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,restrict,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile\"],\"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof\"],H=[F,\"alignas,alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,noexcept,noreturn,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where\"],\nO=[F,\"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient\"],P=[F,\"abstract,add,alias,as,ascending,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,get,global,group,implicit,in,interface,internal,into,is,join,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,remove,sbyte,sealed,select,set,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,value,var,virtual,where,yield\"],\nF=[F,\"abstract,async,await,constructor,debugger,enum,eval,export,function,get,implements,instanceof,interface,let,null,set,undefined,var,with,yield,Infinity,NaN\"],Q=[C,\"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None\"],R=[C,\"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END\"],C=[C,\"case,done,elif,esac,eval,fi,function,in,local,set,then,until\"],\nS=/^(DIR|FILE|array|vector|(de|priority_)?queue|(forward_)?list|stack|(const_)?(reverse_)?iterator|(unordered_)?(multi)?(set|map)|bitset|u?(int|float)\\d*)\\b/,W=/\\S/,X=y({keywords:[H,P,O,F,\"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END\",Q,R,C],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),I={};t(X,[\"default-code\"]);t(G([],[[\"pln\",/^[^<?]+/],[\"dec\",\n/^<!\\w[^>]*(?:>|$)/],[\"com\",/^<\\!--[\\s\\S]*?(?:-\\->|$)/],[\"lang-\",/^<\\?([\\s\\S]+?)(?:\\?>|$)/],[\"lang-\",/^<%([\\s\\S]+?)(?:%>|$)/],[\"pun\",/^(?:<[%?]|[%?]>)/],[\"lang-\",/^<xmp\\b[^>]*>([\\s\\S]+?)<\\/xmp\\b[^>]*>/i],[\"lang-js\",/^<script\\b[^>]*>([\\s\\S]*?)(<\\/script\\b[^>]*>)/i],[\"lang-css\",/^<style\\b[^>]*>([\\s\\S]*?)(<\\/style\\b[^>]*>)/i],[\"lang-in.tag\",/^(<\\/?[a-z][^<>]*>)/i]]),\"default-markup htm html mxml xhtml xml xsl\".split(\" \"));t(G([[\"pln\",/^[\\s]+/,null,\" \\t\\r\\n\"],[\"atv\",/^(?:\\\"[^\\\"]*\\\"?|\\'[^\\']*\\'?)/,null,\n\"\\\"'\"]],[[\"tag\",/^^<\\/?[a-z](?:[\\w.:-]*\\w)?|\\/?>$/i],[\"atn\",/^(?!style[\\s=]|on)[a-z](?:[\\w:-]*\\w)?/i],[\"lang-uq.val\",/^=\\s*([^>\\'\\\"\\s]*(?:[^>\\'\\\"\\s\\/]|\\/(?=\\s)))/],[\"pun\",/^[=<>\\/]+/],[\"lang-js\",/^on\\w+\\s*=\\s*\\\"([^\\\"]+)\\\"/i],[\"lang-js\",/^on\\w+\\s*=\\s*\\'([^\\']+)\\'/i],[\"lang-js\",/^on\\w+\\s*=\\s*([^\\\"\\'>\\s]+)/i],[\"lang-css\",/^style\\s*=\\s*\\\"([^\\\"]+)\\\"/i],[\"lang-css\",/^style\\s*=\\s*\\'([^\\']+)\\'/i],[\"lang-css\",/^style\\s*=\\s*([^\\\"\\'>\\s]+)/i]]),[\"in.tag\"]);t(G([],[[\"atv\",/^[\\s\\S]+/]]),[\"uq.val\"]);t(y({keywords:H,\nhashComments:!0,cStyleComments:!0,types:S}),\"c cc cpp cxx cyc m\".split(\" \"));t(y({keywords:\"null,true,false\"}),[\"json\"]);t(y({keywords:P,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:S}),[\"cs\"]);t(y({keywords:O,cStyleComments:!0}),[\"java\"]);t(y({keywords:C,hashComments:!0,multiLineStrings:!0}),[\"bash\",\"bsh\",\"csh\",\"sh\"]);t(y({keywords:Q,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),[\"cv\",\"py\",\"python\"]);t(y({keywords:\"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END\",\nhashComments:!0,multiLineStrings:!0,regexLiterals:2}),[\"perl\",\"pl\",\"pm\"]);t(y({keywords:R,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),[\"rb\",\"ruby\"]);t(y({keywords:F,cStyleComments:!0,regexLiterals:!0}),[\"javascript\",\"js\",\"ts\",\"typescript\"]);t(y({keywords:\"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes\",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,\nregexLiterals:!0}),[\"coffee\"]);t(G([],[[\"str\",/^[\\s\\S]+/]]),[\"regex\"]);var Y=E.PR={createSimpleLexer:G,registerLangHandler:t,sourceDecorator:y,PR_ATTRIB_NAME:\"atn\",PR_ATTRIB_VALUE:\"atv\",PR_COMMENT:\"com\",PR_DECLARATION:\"dec\",PR_KEYWORD:\"kwd\",PR_LITERAL:\"lit\",PR_NOCODE:\"nocode\",PR_PLAIN:\"pln\",PR_PUNCTUATION:\"pun\",PR_SOURCE:\"src\",PR_STRING:\"str\",PR_TAG:\"tag\",PR_TYPE:\"typ\",prettyPrintOne:E.prettyPrintOne=function(a,d,f){f=f||!1;d=d||null;var b=document.createElement(\"div\");b.innerHTML=\"<pre>\"+a+\"</pre>\";\nb=b.firstChild;f&&L(b,f,!0);M({j:d,m:f,h:b,l:1,a:null,i:null,c:null,g:null});return b.innerHTML},prettyPrint:E.prettyPrint=function(a,d){function f(){for(var b=E.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;p<t.length&&c.now()<b;p++){for(var d=t[p],l=g,m=d;m=m.previousSibling;){var n=m.nodeType,u=(7===n||8===n)&&m.nodeValue;if(u?!/^\\??prettify\\b/.test(u):3!==n||/\\S/.test(m.nodeValue))break;if(u){l={};u.replace(/\\b(\\w+)=([\\w:.%+-]+)/g,function(a,b,c){l[b]=c});break}}m=d.className;if((l!==g||r.test(m))&&\n!e.test(m)){n=!1;for(u=d.parentNode;u;u=u.parentNode)if(q.test(u.tagName)&&u.className&&r.test(u.className)){n=!0;break}if(!n){d.className+=\" prettyprinted\";n=l.lang;if(!n){var n=m.match(w),C;!n&&(C=V(d))&&z.test(C.tagName)&&(n=C.className.match(w));n&&(n=n[1])}if(y.test(d.tagName))u=1;else var u=d.currentStyle,x=v.defaultView,u=(u=u?u.whiteSpace:x&&x.getComputedStyle?x.getComputedStyle(d,null).getPropertyValue(\"white-space\"):0)&&\"pre\"===u.substring(0,3);x=l.linenums;(x=\"true\"===x||+x)||(x=(x=m.match(/\\blinenums\\b(?::(\\d+))?/))?\nx[1]&&x[1].length?+x[1]:!0:!1);x&&L(d,x,u);M({j:n,h:d,m:x,l:u,a:null,i:null,c:null,g:null})}}}p<t.length?E.setTimeout(f,250):\"function\"===typeof a&&a()}for(var b=d||document.body,v=b.ownerDocument||document,b=[b.getElementsByTagName(\"pre\"),b.getElementsByTagName(\"code\"),b.getElementsByTagName(\"xmp\")],t=[],n=0;n<b.length;++n)for(var l=0,m=b[n].length;l<m;++l)t.push(b[n][l]);var b=null,c=Date;c.now||(c={now:function(){return+new Date}});var p=0,w=/\\blang(?:uage)?-([\\w.]+)(?!\\S)/,r=/\\bprettyprint\\b/,\ne=/\\bprettyprinted\\b/,y=/pre|xmp/i,z=/^code$/i,q=/^(?:pre|code|xmp)$/i,g={};f()}},H=E.define;\"function\"===typeof H&&H.amd&&H(\"google-code-prettify\",[],function(){return Y})})();}()\n"
  },
  {
    "path": "docs/script/pretty-print.js",
    "content": "(function(){\n  prettyPrint();\n  var lines = document.querySelectorAll('.prettyprint.linenums li[class^=\"L\"]');\n  for (var i = 0; i < lines.length; i++) {\n    lines[i].id = 'lineNumber' + (i + 1);\n  }\n\n  var matched = location.hash.match(/errorLines=([\\d,]+)/);\n  if (matched) {\n    var lines = matched[1].split(',');\n    for (var i = 0; i < lines.length; i++) {\n      var id = '#lineNumber' + lines[i];\n      var el = document.querySelector(id);\n      el.classList.add('error-line');\n    }\n    return;\n  }\n\n  if (location.hash) {\n    // ``[ ] . ' \" @`` are not valid in DOM id. so must escape these.\n    var id = location.hash.replace(/([\\[\\].'\"@$])/g, '\\\\$1');\n    var line = document.querySelector(id);\n    if (line) line.classList.add('active');\n  }\n})();\n"
  },
  {
    "path": "docs/script/search.js",
    "content": "(function(){\n  var searchIndex = window.esdocSearchIndex;\n  var searchBox = document.querySelector('.search-box');\n  var input = document.querySelector('.search-input');\n  var result = document.querySelector('.search-result');\n  var selectedIndex = -1;\n  var prevText;\n\n  // active search box and focus when mouse enter on search box.\n  searchBox.addEventListener('mouseenter', function(){\n    searchBox.classList.add('active');\n    input.focus();\n  });\n\n  // search with text when key is upped.\n  input.addEventListener('keyup', function(ev){\n    var text = ev.target.value.toLowerCase();\n    if (!text) {\n      result.style.display = 'none';\n      result.innerHTML = '';\n      return;\n    }\n\n    if (text === prevText) return;\n    prevText = text;\n\n    var html = {class: [], method: [], member: [], function: [], variable: [], typedef: [], external: [], file: [], test: [], testFile: []};\n    var len = searchIndex.length;\n    var kind;\n    for (var i = 0; i < len; i++) {\n      var pair = searchIndex[i];\n      if (pair[0].indexOf(text) !== -1) {\n        kind = pair[3];\n        html[kind].push('<li><a href=\"' + pair[1] + '\">' + pair[2] + '</a></li>');\n      }\n    }\n\n    var innerHTML = '';\n    for (kind in html) {\n      var list = html[kind];\n      if (!list.length) continue;\n      innerHTML += '<li class=\"search-separator\">' + kind + '</li>\\n' + list.join('\\n');\n    }\n    result.innerHTML = innerHTML;\n    if (innerHTML) result.style.display = 'block';\n    selectedIndex = -1;\n  });\n\n  // down, up and enter key are pressed, select search result.\n  input.addEventListener('keydown', function(ev){\n    if (ev.keyCode === 40) {\n      // arrow down\n      var current = result.children[selectedIndex];\n      var selected = result.children[selectedIndex + 1];\n      if (selected && selected.classList.contains('search-separator')) {\n        var selected = result.children[selectedIndex + 2];\n        selectedIndex++;\n      }\n\n      if (selected) {\n        if (current) current.classList.remove('selected');\n        selectedIndex++;\n        selected.classList.add('selected');\n      }\n    } else if (ev.keyCode === 38) {\n      // arrow up\n      var current = result.children[selectedIndex];\n      var selected = result.children[selectedIndex - 1];\n      if (selected && selected.classList.contains('search-separator')) {\n        var selected = result.children[selectedIndex - 2];\n        selectedIndex--;\n      }\n\n      if (selected) {\n        if (current) current.classList.remove('selected');\n        selectedIndex--;\n        selected.classList.add('selected');\n      }\n    } else if (ev.keyCode === 13) {\n      // enter\n      var current = result.children[selectedIndex];\n      if (current) {\n        var link = current.querySelector('a');\n        if (link) location.href = link.href;\n      }\n    } else {\n      return;\n    }\n\n    ev.preventDefault();\n  });\n\n  // select search result when search result is mouse over.\n  result.addEventListener('mousemove', function(ev){\n    var current = result.children[selectedIndex];\n    if (current) current.classList.remove('selected');\n\n    var li = ev.target;\n    while (li) {\n      if (li.nodeName === 'LI') break;\n      li = li.parentElement;\n    }\n\n    if (li) {\n      selectedIndex = Array.prototype.indexOf.call(result.children, li);\n      li.classList.add('selected');\n    }\n  });\n\n  // clear search result when body is clicked.\n  document.body.addEventListener('click', function(ev){\n    selectedIndex = -1;\n    result.style.display = 'none';\n    result.innerHTML = '';\n  });\n\n})();\n"
  },
  {
    "path": "docs/script/search_index.js",
    "content": "window.esdocSearchIndex = [\n  [\n    \"collisions/src/modules/body.mjs~body\",\n    \"class/src/modules/Body.mjs~Body.html\",\n    \"<span>Body</span> <span class=\\\"search-result-import-path\\\">collisions/src/modules/Body.mjs</span>\",\n    \"class\"\n  ],\n  [\n    \"collisions/src/modules/circle.mjs~circle\",\n    \"class/src/modules/Circle.mjs~Circle.html\",\n    \"<span>Circle</span> <span class=\\\"search-result-import-path\\\">collisions/src/modules/Circle.mjs</span>\",\n    \"class\"\n  ],\n  [\n    \"collisions~collisions\",\n    \"class/src/Collisions.mjs~Collisions.html\",\n    \"<span>Collisions</span> <span class=\\\"search-result-import-path\\\">collisions</span>\",\n    \"class\"\n  ],\n  [\n    \"collisions/src/modules/point.mjs~point\",\n    \"class/src/modules/Point.mjs~Point.html\",\n    \"<span>Point</span> <span class=\\\"search-result-import-path\\\">collisions/src/modules/Point.mjs</span>\",\n    \"class\"\n  ],\n  [\n    \"collisions/src/modules/polygon.mjs~polygon\",\n    \"class/src/modules/Polygon.mjs~Polygon.html\",\n    \"<span>Polygon</span> <span class=\\\"search-result-import-path\\\">collisions/src/modules/Polygon.mjs</span>\",\n    \"class\"\n  ],\n  [\n    \"collisions/src/modules/result.mjs~result\",\n    \"class/src/modules/Result.mjs~Result.html\",\n    \"<span>Result</span> <span class=\\\"search-result-import-path\\\">collisions/src/modules/Result.mjs</span>\",\n    \"class\"\n  ],\n  [\n    \"src/.external-ecmascript.js~array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\",\n    \"src/.external-ecmascript.js~Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~arraybuffer\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\",\n    \"src/.external-ecmascript.js~ArrayBuffer\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~boolean\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\",\n    \"src/.external-ecmascript.js~Boolean\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~dataview\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\",\n    \"src/.external-ecmascript.js~DataView\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~date\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\",\n    \"src/.external-ecmascript.js~Date\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~error\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\",\n    \"src/.external-ecmascript.js~Error\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~evalerror\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\",\n    \"src/.external-ecmascript.js~EvalError\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~float32array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\",\n    \"src/.external-ecmascript.js~Float32Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~float64array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\",\n    \"src/.external-ecmascript.js~Float64Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~function\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\",\n    \"src/.external-ecmascript.js~Function\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~generator\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\",\n    \"src/.external-ecmascript.js~Generator\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~generatorfunction\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\",\n    \"src/.external-ecmascript.js~GeneratorFunction\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~infinity\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\",\n    \"src/.external-ecmascript.js~Infinity\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~int16array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\",\n    \"src/.external-ecmascript.js~Int16Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~int32array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\",\n    \"src/.external-ecmascript.js~Int32Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~int8array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\",\n    \"src/.external-ecmascript.js~Int8Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~internalerror\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\",\n    \"src/.external-ecmascript.js~InternalError\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~json\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\",\n    \"src/.external-ecmascript.js~JSON\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~map\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\",\n    \"src/.external-ecmascript.js~Map\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~nan\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\",\n    \"src/.external-ecmascript.js~NaN\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~number\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\",\n    \"src/.external-ecmascript.js~Number\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~object\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\",\n    \"src/.external-ecmascript.js~Object\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~promise\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\",\n    \"src/.external-ecmascript.js~Promise\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~proxy\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\",\n    \"src/.external-ecmascript.js~Proxy\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~rangeerror\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\",\n    \"src/.external-ecmascript.js~RangeError\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~referenceerror\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\",\n    \"src/.external-ecmascript.js~ReferenceError\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~reflect\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\",\n    \"src/.external-ecmascript.js~Reflect\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~regexp\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\",\n    \"src/.external-ecmascript.js~RegExp\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~set\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\",\n    \"src/.external-ecmascript.js~Set\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~string\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\",\n    \"src/.external-ecmascript.js~String\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~symbol\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\",\n    \"src/.external-ecmascript.js~Symbol\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~syntaxerror\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\",\n    \"src/.external-ecmascript.js~SyntaxError\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~typeerror\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\",\n    \"src/.external-ecmascript.js~TypeError\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~urierror\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\",\n    \"src/.external-ecmascript.js~URIError\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~uint16array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\",\n    \"src/.external-ecmascript.js~Uint16Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~uint32array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\",\n    \"src/.external-ecmascript.js~Uint32Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~uint8array\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\",\n    \"src/.external-ecmascript.js~Uint8Array\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~uint8clampedarray\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\",\n    \"src/.external-ecmascript.js~Uint8ClampedArray\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~weakmap\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\",\n    \"src/.external-ecmascript.js~WeakMap\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~weakset\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\",\n    \"src/.external-ecmascript.js~WeakSet\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~boolean\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\",\n    \"src/.external-ecmascript.js~boolean\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~function\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\",\n    \"src/.external-ecmascript.js~function\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~null\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\",\n    \"src/.external-ecmascript.js~null\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~number\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\",\n    \"src/.external-ecmascript.js~number\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~object\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\",\n    \"src/.external-ecmascript.js~object\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~string\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\",\n    \"src/.external-ecmascript.js~string\",\n    \"external\"\n  ],\n  [\n    \"src/.external-ecmascript.js~undefined\",\n    \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\",\n    \"src/.external-ecmascript.js~undefined\",\n    \"external\"\n  ],\n  [\n    \"src/collisions.mjs\",\n    \"file/src/Collisions.mjs.html\",\n    \"src/Collisions.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#collides\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-collides\",\n    \"src/Collisions.mjs~Collisions#collides\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#constructor\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-constructor-constructor\",\n    \"src/Collisions.mjs~Collisions#constructor\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#createcircle\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-createCircle\",\n    \"src/Collisions.mjs~Collisions#createCircle\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#createpoint\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-createPoint\",\n    \"src/Collisions.mjs~Collisions#createPoint\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#createpolygon\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-createPolygon\",\n    \"src/Collisions.mjs~Collisions#createPolygon\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#createresult\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-createResult\",\n    \"src/Collisions.mjs~Collisions#createResult\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#draw\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-draw\",\n    \"src/Collisions.mjs~Collisions#draw\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#drawbvh\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-drawBVH\",\n    \"src/Collisions.mjs~Collisions#drawBVH\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#insert\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-insert\",\n    \"src/Collisions.mjs~Collisions#insert\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#potentials\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-potentials\",\n    \"src/Collisions.mjs~Collisions#potentials\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#remove\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-remove\",\n    \"src/Collisions.mjs~Collisions#remove\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions#update\",\n    \"class/src/Collisions.mjs~Collisions.html#instance-method-update\",\n    \"src/Collisions.mjs~Collisions#update\",\n    \"method\"\n  ],\n  [\n    \"src/collisions.mjs~collisions.createresult\",\n    \"class/src/Collisions.mjs~Collisions.html#static-method-createResult\",\n    \"src/Collisions.mjs~Collisions.createResult\",\n    \"method\"\n  ],\n  [\n    \"src/modules/bvh.mjs\",\n    \"file/src/modules/BVH.mjs.html\",\n    \"src/modules/BVH.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/modules/bvhbranch.mjs\",\n    \"file/src/modules/BVHBranch.mjs.html\",\n    \"src/modules/BVHBranch.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/modules/body.mjs\",\n    \"file/src/modules/Body.mjs.html\",\n    \"src/modules/Body.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/modules/body.mjs~body#collides\",\n    \"class/src/modules/Body.mjs~Body.html#instance-method-collides\",\n    \"src/modules/Body.mjs~Body#collides\",\n    \"method\"\n  ],\n  [\n    \"src/modules/body.mjs~body#constructor\",\n    \"class/src/modules/Body.mjs~Body.html#instance-constructor-constructor\",\n    \"src/modules/Body.mjs~Body#constructor\",\n    \"method\"\n  ],\n  [\n    \"src/modules/body.mjs~body#createresult\",\n    \"class/src/modules/Body.mjs~Body.html#instance-method-createResult\",\n    \"src/modules/Body.mjs~Body#createResult\",\n    \"method\"\n  ],\n  [\n    \"src/modules/body.mjs~body#padding\",\n    \"class/src/modules/Body.mjs~Body.html#instance-member-padding\",\n    \"src/modules/Body.mjs~Body#padding\",\n    \"member\"\n  ],\n  [\n    \"src/modules/body.mjs~body#potentials\",\n    \"class/src/modules/Body.mjs~Body.html#instance-method-potentials\",\n    \"src/modules/Body.mjs~Body#potentials\",\n    \"method\"\n  ],\n  [\n    \"src/modules/body.mjs~body#remove\",\n    \"class/src/modules/Body.mjs~Body.html#instance-method-remove\",\n    \"src/modules/Body.mjs~Body#remove\",\n    \"method\"\n  ],\n  [\n    \"src/modules/body.mjs~body#x\",\n    \"class/src/modules/Body.mjs~Body.html#instance-member-x\",\n    \"src/modules/Body.mjs~Body#x\",\n    \"member\"\n  ],\n  [\n    \"src/modules/body.mjs~body#y\",\n    \"class/src/modules/Body.mjs~Body.html#instance-member-y\",\n    \"src/modules/Body.mjs~Body#y\",\n    \"member\"\n  ],\n  [\n    \"src/modules/body.mjs~body.createresult\",\n    \"class/src/modules/Body.mjs~Body.html#static-method-createResult\",\n    \"src/modules/Body.mjs~Body.createResult\",\n    \"method\"\n  ],\n  [\n    \"src/modules/circle.mjs\",\n    \"file/src/modules/Circle.mjs.html\",\n    \"src/modules/Circle.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/modules/circle.mjs~circle#constructor\",\n    \"class/src/modules/Circle.mjs~Circle.html#instance-constructor-constructor\",\n    \"src/modules/Circle.mjs~Circle#constructor\",\n    \"method\"\n  ],\n  [\n    \"src/modules/circle.mjs~circle#draw\",\n    \"class/src/modules/Circle.mjs~Circle.html#instance-method-draw\",\n    \"src/modules/Circle.mjs~Circle#draw\",\n    \"method\"\n  ],\n  [\n    \"src/modules/circle.mjs~circle#radius\",\n    \"class/src/modules/Circle.mjs~Circle.html#instance-member-radius\",\n    \"src/modules/Circle.mjs~Circle#radius\",\n    \"member\"\n  ],\n  [\n    \"src/modules/circle.mjs~circle#scale\",\n    \"class/src/modules/Circle.mjs~Circle.html#instance-member-scale\",\n    \"src/modules/Circle.mjs~Circle#scale\",\n    \"member\"\n  ],\n  [\n    \"src/modules/point.mjs\",\n    \"file/src/modules/Point.mjs.html\",\n    \"src/modules/Point.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/modules/point.mjs~point#constructor\",\n    \"class/src/modules/Point.mjs~Point.html#instance-constructor-constructor\",\n    \"src/modules/Point.mjs~Point#constructor\",\n    \"method\"\n  ],\n  [\n    \"src/modules/polygon.mjs\",\n    \"file/src/modules/Polygon.mjs.html\",\n    \"src/modules/Polygon.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/modules/polygon.mjs~polygon#angle\",\n    \"class/src/modules/Polygon.mjs~Polygon.html#instance-member-angle\",\n    \"src/modules/Polygon.mjs~Polygon#angle\",\n    \"member\"\n  ],\n  [\n    \"src/modules/polygon.mjs~polygon#constructor\",\n    \"class/src/modules/Polygon.mjs~Polygon.html#instance-constructor-constructor\",\n    \"src/modules/Polygon.mjs~Polygon#constructor\",\n    \"method\"\n  ],\n  [\n    \"src/modules/polygon.mjs~polygon#draw\",\n    \"class/src/modules/Polygon.mjs~Polygon.html#instance-method-draw\",\n    \"src/modules/Polygon.mjs~Polygon#draw\",\n    \"method\"\n  ],\n  [\n    \"src/modules/polygon.mjs~polygon#scale_x\",\n    \"class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_x\",\n    \"src/modules/Polygon.mjs~Polygon#scale_x\",\n    \"member\"\n  ],\n  [\n    \"src/modules/polygon.mjs~polygon#scale_y\",\n    \"class/src/modules/Polygon.mjs~Polygon.html#instance-member-scale_y\",\n    \"src/modules/Polygon.mjs~Polygon#scale_y\",\n    \"member\"\n  ],\n  [\n    \"src/modules/polygon.mjs~polygon#setpoints\",\n    \"class/src/modules/Polygon.mjs~Polygon.html#instance-method-setPoints\",\n    \"src/modules/Polygon.mjs~Polygon#setPoints\",\n    \"method\"\n  ],\n  [\n    \"src/modules/result.mjs\",\n    \"file/src/modules/Result.mjs.html\",\n    \"src/modules/Result.mjs\",\n    \"file\"\n  ],\n  [\n    \"src/modules/result.mjs~result#a\",\n    \"class/src/modules/Result.mjs~Result.html#instance-member-a\",\n    \"src/modules/Result.mjs~Result#a\",\n    \"member\"\n  ],\n  [\n    \"src/modules/result.mjs~result#a_in_b\",\n    \"class/src/modules/Result.mjs~Result.html#instance-member-a_in_b\",\n    \"src/modules/Result.mjs~Result#a_in_b\",\n    \"member\"\n  ],\n  [\n    \"src/modules/result.mjs~result#b\",\n    \"class/src/modules/Result.mjs~Result.html#instance-member-b\",\n    \"src/modules/Result.mjs~Result#b\",\n    \"member\"\n  ],\n  [\n    \"src/modules/result.mjs~result#collision\",\n    \"class/src/modules/Result.mjs~Result.html#instance-member-collision\",\n    \"src/modules/Result.mjs~Result#collision\",\n    \"member\"\n  ],\n  [\n    \"src/modules/result.mjs~result#constructor\",\n    \"class/src/modules/Result.mjs~Result.html#instance-constructor-constructor\",\n    \"src/modules/Result.mjs~Result#constructor\",\n    \"method\"\n  ],\n  [\n    \"src/modules/result.mjs~result#overlap\",\n    \"class/src/modules/Result.mjs~Result.html#instance-member-overlap\",\n    \"src/modules/Result.mjs~Result#overlap\",\n    \"member\"\n  ],\n  [\n    \"src/modules/result.mjs~result#overlap_x\",\n    \"class/src/modules/Result.mjs~Result.html#instance-member-overlap_x\",\n    \"src/modules/Result.mjs~Result#overlap_x\",\n    \"member\"\n  ],\n  [\n    \"src/modules/result.mjs~result#overlap_y\",\n    \"class/src/modules/Result.mjs~Result.html#instance-member-overlap_y\",\n    \"src/modules/Result.mjs~Result#overlap_y\",\n    \"member\"\n  ],\n  [\n    \"src/modules/sat.mjs\",\n    \"file/src/modules/SAT.mjs.html\",\n    \"src/modules/SAT.mjs\",\n    \"file\"\n  ]\n]"
  },
  {
    "path": "docs/script/test-summary.js",
    "content": "(function(){\n  function toggle(ev) {\n    var button = ev.target;\n    var parent = ev.target.parentElement;\n    while(parent) {\n      if (parent.tagName === 'TR' && parent.classList.contains('test-interface')) break;\n      parent = parent.parentElement;\n    }\n\n    if (!parent) return;\n\n    var direction;\n    if (button.classList.contains('opened')) {\n      button.classList.remove('opened');\n      button.classList.add('closed');\n      direction = 'closed';\n    } else {\n      button.classList.remove('closed');\n      button.classList.add('opened');\n      direction = 'opened';\n    }\n\n    var targetDepth = parseInt(parent.dataset.testDepth, 10) + 1;\n    var nextElement = parent.nextElementSibling;\n    while (nextElement) {\n      var depth = parseInt(nextElement.dataset.testDepth, 10);\n      if (depth >= targetDepth) {\n        if (direction === 'opened') {\n          if (depth === targetDepth)  nextElement.style.display = '';\n        } else if (direction === 'closed') {\n          nextElement.style.display = 'none';\n          var innerButton = nextElement.querySelector('.toggle');\n          if (innerButton && innerButton.classList.contains('opened')) {\n            innerButton.classList.remove('opened');\n            innerButton.classList.add('closed');\n          }\n        }\n      } else {\n        break;\n      }\n      nextElement = nextElement.nextElementSibling;\n    }\n  }\n\n  var buttons = document.querySelectorAll('.test-summary tr.test-interface .toggle');\n  for (var i = 0; i < buttons.length; i++) {\n    buttons[i].addEventListener('click', toggle);\n  }\n\n  var topDescribes = document.querySelectorAll('.test-summary tr[data-test-depth=\"0\"]');\n  for (var i = 0; i < topDescribes.length; i++) {\n    topDescribes[i].style.display = '';\n  }\n})();\n"
  },
  {
    "path": "docs/source.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <base data-ice=\"baseUrl\" href=\"\">\n  <title data-ice=\"title\">Source | collisions</title>\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/style.css\">\n  <link type=\"text/css\" rel=\"stylesheet\" href=\"css/prettify-tomorrow.css\">\n  <script src=\"script/prettify/prettify.js\"></script>\n  <script src=\"script/manual.js\"></script>\n<meta name=\"description\" content=\"Collision detection for circles, polygons, and points\"><meta property=\"twitter:card\" content=\"summary\"><meta property=\"twitter:title\" content=\"collisions\"><meta property=\"twitter:description\" content=\"Collision detection for circles, polygons, and points\"></head>\n<body class=\"layout-container\" data-ice=\"rootContainer\">\n\n<header>\n  <a href=\"./\">Home</a>\n  \n  <a href=\"identifiers.html\">Reference</a>\n  <a href=\"source.html\">Source</a>\n  \n  <div class=\"search-box\">\n  <span>\n    <img src=\"./image/search.png\">\n    <span class=\"search-input-edge\"></span><input class=\"search-input\"><span class=\"search-input-edge\"></span>\n  </span>\n    <ul class=\"search-result\"></ul>\n  </div>\n<a style=\"position:relative; top:3px;\" href=\"https://github.com/Sinova/Collisions\"><img width=\"20px\" src=\"./image/github.png\"></a></header>\n\n<nav class=\"navigation\" data-ice=\"nav\"><div>\n  <ul>\n    \n  <li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></span></li>\n<li data-ice=\"doc\"><a data-ice=\"dirPath\" class=\"nav-dir-path\" href=\"identifiers.html#modules\">modules</a><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></span></li>\n<li data-ice=\"doc\"><span data-ice=\"kind\" class=\"kind-class\">C</span><span data-ice=\"name\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></span></li>\n</ul>\n</div>\n</nav>\n\n<div class=\"content\" data-ice=\"content\"><h1>Source <img data-ice=\"coverageBadge\" src=\"./badge.svg\"><span data-ice=\"totalCoverageCount\" class=\"total-coverage-count\">110/110</span></h1>\n\n<table class=\"files-summary\" data-ice=\"files\" data-use-coverage=\"true\">\n  <thead>\n    <tr>\n      <td>File</td>\n      <td>Identifier</td>\n      <td class=\"coverage\">Document</td>\n      <td style=\"display: none;\">Size</td>\n      <td style=\"display: none;\">Lines</td>\n      <td style=\"display: none;\">Updated</td>\n    </tr>\n  </thead>\n  <tbody>\n    \n  <tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/Collisions.mjs.html\">src/Collisions.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\"><span><a href=\"class/src/Collisions.mjs~Collisions.html\">Collisions</a></span></td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">15/15</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">4552 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">163</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-12-01 05:47:46 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/BVH.mjs.html\">src/modules/BVH.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\">-</td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">11/11</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">11371 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">410</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-12-01 05:48:46 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/BVHBranch.mjs.html\">src/modules/BVHBranch.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\">-</td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">15/15</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">1205 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">73</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-12-01 05:28:16 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/Body.mjs.html\">src/modules/Body.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\"><span><a href=\"class/src/modules/Body.mjs~Body.html\">Body</a></span></td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">21/21</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">2444 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">118</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-11-02 18:10:13 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/Circle.mjs.html\">src/modules/Circle.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\"><span><a href=\"class/src/modules/Circle.mjs~Circle.html\">Circle</a></span></td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">5/5</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">1036 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">44</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-11-03 05:42:08 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/Point.mjs.html\">src/modules/Point.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\"><span><a href=\"class/src/modules/Point.mjs~Point.html\">Point</a></span></td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">3/3</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">555 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">22</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-12-01 05:27:54 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/Polygon.mjs.html\">src/modules/Polygon.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\"><span><a href=\"class/src/modules/Polygon.mjs~Polygon.html\">Polygon</a></span></td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">25/25</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">5619 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">245</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-12-01 05:28:06 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/Result.mjs.html\">src/modules/Result.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\"><span><a href=\"class/src/modules/Result.mjs~Result.html\">Result</a></span></td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">9/9</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">1158 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">60</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-12-01 05:27:26 (UTC)</td>\n    </tr>\n<tr data-ice=\"file\">\n      <td data-ice=\"filePath\"><span><a href=\"file/src/modules/SAT.mjs.html\">src/modules/SAT.mjs</a></span></td>\n      <td data-ice=\"identifier\" class=\"identifiers\">-</td>\n      <td class=\"coverage\"><span data-ice=\"coverage\">100 %</span><span data-ice=\"coverageCount\" class=\"coverage-count\">6/6</span></td>\n      <td style=\"display: none;\" data-ice=\"size\">11274 byte</td>\n      <td style=\"display: none;\" data-ice=\"lines\">411</td>\n      <td style=\"display: none;\" data-ice=\"updated\">2017-12-01 05:27:21 (UTC)</td>\n    </tr>\n</tbody>\n</table>\n</div>\n\n<footer class=\"footer\">\n  Generated by <a href=\"https://esdoc.org\">ESDoc<span data-ice=\"esdocVersion\">(1.0.4)</span><img src=\"./image/esdoc-logo-mini-black.png\"></a>\n</footer>\n\n<script src=\"script/search_index.js\"></script>\n<script src=\"script/search.js\"></script>\n<script src=\"script/pretty-print.js\"></script>\n<script src=\"script/inherited-summary.js\"></script>\n<script src=\"script/test-summary.js\"></script>\n<script src=\"script/inner-link.js\"></script>\n<script src=\"script/patch-for-local.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "package.json",
    "content": "{\n\t\"name\": \"collisions\",\n\t\"version\": \"2.0.14\",\n\t\"description\": \"Collision detection for circles, polygons, and points\",\n\t\"module\": \"src/Collisions.mjs\",\n\t\"types\": \"collisions.d.ts\",\n\t\"scripts\": {\n\t\t\"build\": \"rm -rf ./docs/* && esdoc && webpack\"\n\t},\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git+https://github.com/Sinova/Collisions.git\"\n\t},\n\t\"keywords\": [\n\t\t\"Collision\",\n\t\t\"Separating Axis Theorem\",\n\t\t\"Bounding Volume Hierarchy\",\n\t\t\"SAT\",\n\t\t\"BVH\",\n\t\t\"Circle\",\n\t\t\"Polygon\",\n\t\t\"Line\",\n\t\t\"Shape\",\n\t\t\"Separating\",\n\t\t\"Axis\",\n\t\t\"Theorem\",\n\t\t\"Bounding\",\n\t\t\"Volume\",\n\t\t\"Hierarchy\"\n\t],\n\t\"author\": \"Samuel Hodge\",\n\t\"license\": \"MIT\",\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/Sinova/Collisions/issues\"\n\t},\n\t\"homepage\": \"https://github.com/Sinova/Collisions#readme\",\n\t\"devDependencies\": {\n\t\t\"esdoc\": \"^1.0.4\",\n\t\t\"esdoc-standard-plugin\": \"^1.0.0\",\n\t\t\"html-webpack-plugin\": \"^2.30.1\",\n\t\t\"npm\": \"^5.5.1\",\n\t\t\"webpack\": \"^3.9.0\"\n\t}\n}\n"
  },
  {
    "path": "src/Collisions.mjs",
    "content": "import BVH     from './modules/BVH.mjs';\nimport Circle  from './modules/Circle.mjs';\nimport Polygon from './modules/Polygon.mjs';\nimport Point   from './modules/Point.mjs';\nimport Result  from './modules/Result.mjs';\nimport SAT     from './modules/SAT.mjs';\n\n/**\n * A collision system used to track bodies in order to improve collision detection performance\n * @class\n */\nclass Collisions {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh = new BVH();\n\t}\n\n\t/**\n\t * Creates a {@link Circle} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Circle}\n\t */\n\tcreateCircle(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tconst body = new Circle(x, y, radius, scale, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Polygon} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Polygon}\n\t */\n\tcreatePolygon(x = 0, y = 0, points = [[0, 0]], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tconst body = new Polygon(x, y, points, angle, scale_x, scale_y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Point} and inserts it into the collision system\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t * @returns {Point}\n\t */\n\tcreatePoint(x = 0, y = 0, padding = 0) {\n\t\tconst body = new Point(x, y, padding);\n\n\t\tthis._bvh.insert(body);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Inserts bodies into the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tinsert(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.insert(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Removes bodies from the collision system\n\t * @param {...Circle|...Polygon|...Point} bodies\n\t */\n\tremove(...bodies) {\n\t\tfor(const body of bodies) {\n\t\t\tthis._bvh.remove(body, false);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Updates the collision system. This should be called before any collisions are tested.\n\t */\n\tupdate() {\n\t\tthis._bvh.update();\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Draws the bodies within the system to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\treturn this._bvh.draw(context);\n\t}\n\n\t/**\n\t * Draws the system's BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\treturn this._bvh.drawBVH(context);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test for potential collisions against\n\t * @returns {Array<Body>}\n\t */\n\tpotentials(body) {\n\t\treturn this._bvh.potentials(body);\n\t}\n\n\t/**\n\t * Determines if two bodies are colliding\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(source, target, result = null, aabb = true) {\n\t\treturn SAT(source, target, result, aabb);\n\t}\n};\n\nexport {\n\tCollisions as default,\n\tCollisions,\n\tResult,\n\tCircle,\n\tPolygon,\n\tPoint,\n};\n"
  },
  {
    "path": "src/modules/BVH.mjs",
    "content": "import BVHBranch from './BVHBranch.mjs';\n\n/**\n * A Bounding Volume Hierarchy (BVH) used to find potential collisions quickly\n * @class\n * @private\n */\nexport default class BVH {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._hierarchy = null;\n\n\t\t/** @private */\n\t\tthis._bodies = [];\n\n\t\t/** @private */\n\t\tthis._dirty_branches = [];\n\t}\n\n\t/**\n\t * Inserts a body into the BVH\n\t * @param {Circle|Polygon|Point} body The body to insert\n\t * @param {Boolean} [updating = false] Set to true if the body already exists in the BVH (used internally when updating the body's position)\n\t */\n\tinsert(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh && bvh !== this) {\n\t\t\t\tthrow new Error('Body belongs to another collision system');\n\t\t\t}\n\n\t\t\tbody._bvh = this;\n\t\t\tthis._bodies.push(body);\n\t\t}\n\n\t\tconst polygon = body._polygon;\n\t\tconst body_x  = body.x;\n\t\tconst body_y  = body.y;\n\n\t\tif(polygon) {\n\t\t\tif(\n\t\t\t\tbody._dirty_coords ||\n\t\t\t\tbody.x       !== body._x ||\n\t\t\t\tbody.y       !== body._y ||\n\t\t\t\tbody.angle   !== body._angle ||\n\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t) {\n\t\t\t\tbody._calculateCoords();\n\t\t\t}\n\t\t}\n\n\t\tconst padding    = body._bvh_padding;\n\t\tconst radius     = polygon ? 0 : body.radius * body.scale;\n\t\tconst body_min_x = (polygon ? body._min_x : body_x - radius) - padding;\n\t\tconst body_min_y = (polygon ? body._min_y : body_y - radius) - padding;\n\t\tconst body_max_x = (polygon ? body._max_x : body_x + radius) + padding;\n\t\tconst body_max_y = (polygon ? body._max_y : body_y + radius) + padding;\n\n\t\tbody._bvh_min_x = body_min_x;\n\t\tbody._bvh_min_y = body_min_y;\n\t\tbody._bvh_max_x = body_max_x;\n\t\tbody._bvh_max_y = body_max_y;\n\n\t\tlet current = this._hierarchy;\n\t\tlet sort    = 0;\n\n\t\tif(!current) {\n\t\t\tthis._hierarchy = body;\n\t\t}\n\t\telse {\n\t\t\twhile(true) {\n\t\t\t\t// Branch\n\t\t\t\tif(current._bvh_branch) {\n\t\t\t\t\tconst left            = current._bvh_left;\n\t\t\t\t\tconst left_min_y      = left._bvh_min_y;\n\t\t\t\t\tconst left_max_x      = left._bvh_max_x;\n\t\t\t\t\tconst left_max_y      = left._bvh_max_y;\n\t\t\t\t\tconst left_new_min_x  = body_min_x < left._bvh_min_x ? body_min_x : left._bvh_min_x;\n\t\t\t\t\tconst left_new_min_y  = body_min_y < left_min_y ? body_min_y : left_min_y;\n\t\t\t\t\tconst left_new_max_x  = body_max_x > left_max_x ? body_max_x : left_max_x;\n\t\t\t\t\tconst left_new_max_y  = body_max_y > left_max_y ? body_max_y : left_max_y;\n\t\t\t\t\tconst left_volume     = (left_max_x - left._bvh_min_x) * (left_max_y - left_min_y);\n\t\t\t\t\tconst left_new_volume = (left_new_max_x - left_new_min_x) * (left_new_max_y - left_new_min_y);\n\t\t\t\t\tconst left_difference = left_new_volume - left_volume;\n\n\t\t\t\t\tconst right            = current._bvh_right;\n\t\t\t\t\tconst right_min_x      = right._bvh_min_x;\n\t\t\t\t\tconst right_min_y      = right._bvh_min_y;\n\t\t\t\t\tconst right_max_x      = right._bvh_max_x;\n\t\t\t\t\tconst right_max_y      = right._bvh_max_y;\n\t\t\t\t\tconst right_new_min_x  = body_min_x < right_min_x ? body_min_x : right_min_x;\n\t\t\t\t\tconst right_new_min_y  = body_min_y < right_min_y ? body_min_y : right_min_y;\n\t\t\t\t\tconst right_new_max_x  = body_max_x > right_max_x ? body_max_x : right_max_x;\n\t\t\t\t\tconst right_new_max_y  = body_max_y > right_max_y ? body_max_y : right_max_y;\n\t\t\t\t\tconst right_volume     = (right_max_x - right_min_x) * (right_max_y - right_min_y);\n\t\t\t\t\tconst right_new_volume = (right_new_max_x - right_new_min_x) * (right_new_max_y - right_new_min_y);\n\t\t\t\t\tconst right_difference = right_new_volume - right_volume;\n\n\t\t\t\t\tcurrent._bvh_sort  = sort++;\n\t\t\t\t\tcurrent._bvh_min_x = left_new_min_x < right_new_min_x ? left_new_min_x : right_new_min_x;\n\t\t\t\t\tcurrent._bvh_min_y = left_new_min_y < right_new_min_y ? left_new_min_y : right_new_min_y;\n\t\t\t\t\tcurrent._bvh_max_x = left_new_max_x > right_new_max_x ? left_new_max_x : right_new_max_x;\n\t\t\t\t\tcurrent._bvh_max_y = left_new_max_y > right_new_max_y ? left_new_max_y : right_new_max_y;\n\n\t\t\t\t\tcurrent = left_difference <= right_difference ? left : right;\n\t\t\t\t}\n\t\t\t\t// Leaf\n\t\t\t\telse {\n\t\t\t\t\tconst grandparent  = current._bvh_parent;\n\t\t\t\t\tconst parent_min_x = current._bvh_min_x;\n\t\t\t\t\tconst parent_min_y = current._bvh_min_y;\n\t\t\t\t\tconst parent_max_x = current._bvh_max_x;\n\t\t\t\t\tconst parent_max_y = current._bvh_max_y;\n\t\t\t\t\tconst new_parent   = current._bvh_parent = body._bvh_parent = BVHBranch.getBranch();\n\n\t\t\t\t\tnew_parent._bvh_parent = grandparent;\n\t\t\t\t\tnew_parent._bvh_left   = current;\n\t\t\t\t\tnew_parent._bvh_right  = body;\n\t\t\t\t\tnew_parent._bvh_sort   = sort++;\n\t\t\t\t\tnew_parent._bvh_min_x  = body_min_x < parent_min_x ? body_min_x : parent_min_x;\n\t\t\t\t\tnew_parent._bvh_min_y  = body_min_y < parent_min_y ? body_min_y : parent_min_y;\n\t\t\t\t\tnew_parent._bvh_max_x  = body_max_x > parent_max_x ? body_max_x : parent_max_x;\n\t\t\t\t\tnew_parent._bvh_max_y  = body_max_y > parent_max_y ? body_max_y : parent_max_y;\n\n\t\t\t\t\tif(!grandparent) {\n\t\t\t\t\t\tthis._hierarchy = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse if(grandparent._bvh_left === current) {\n\t\t\t\t\t\tgrandparent._bvh_left = new_parent;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tgrandparent._bvh_right = new_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes a body from the BVH\n\t * @param {Circle|Polygon|Point} body The body to remove\n\t * @param {Boolean} [updating = false] Set to true if this is a temporary removal (used internally when updating the body's position)\n\t */\n\tremove(body, updating = false) {\n\t\tif(!updating) {\n\t\t\tconst bvh = body._bvh;\n\n\t\t\tif(bvh && bvh !== this) {\n\t\t\t\tthrow new Error('Body belongs to another collision system');\n\t\t\t}\n\n\t\t\tbody._bvh = null;\n\t\t\tthis._bodies.splice(this._bodies.indexOf(body), 1);\n\t\t}\n\n\t\tif(this._hierarchy === body) {\n\t\t\tthis._hierarchy = null;\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst parent       = body._bvh_parent;\n\t\tconst grandparent  = parent._bvh_parent;\n\t\tconst parent_left  = parent._bvh_left;\n\t\tconst sibling      = parent_left === body ? parent._bvh_right : parent_left;\n\n\t\tsibling._bvh_parent = grandparent;\n\n\t\tif(sibling._bvh_branch) {\n\t\t\tsibling._bvh_sort = parent._bvh_sort;\n\t\t}\n\n\t\tif(grandparent) {\n\t\t\tif(grandparent._bvh_left === parent) {\n\t\t\t\tgrandparent._bvh_left = sibling;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tgrandparent._bvh_right = sibling;\n\t\t\t}\n\n\t\t\tlet branch = grandparent;\n\n\t\t\twhile(branch) {\n\t\t\t\tconst left       = branch._bvh_left;\n\t\t\t\tconst left_min_x = left._bvh_min_x;\n\t\t\t\tconst left_min_y = left._bvh_min_y;\n\t\t\t\tconst left_max_x = left._bvh_max_x;\n\t\t\t\tconst left_max_y = left._bvh_max_y;\n\n\t\t\t\tconst right       = branch._bvh_right;\n\t\t\t\tconst right_min_x = right._bvh_min_x;\n\t\t\t\tconst right_min_y = right._bvh_min_y;\n\t\t\t\tconst right_max_x = right._bvh_max_x;\n\t\t\t\tconst right_max_y = right._bvh_max_y;\n\n\t\t\t\tbranch._bvh_min_x = left_min_x < right_min_x ? left_min_x : right_min_x;\n\t\t\t\tbranch._bvh_min_y = left_min_y < right_min_y ? left_min_y : right_min_y;\n\t\t\t\tbranch._bvh_max_x = left_max_x > right_max_x ? left_max_x : right_max_x;\n\t\t\t\tbranch._bvh_max_y = left_max_y > right_max_y ? left_max_y : right_max_y;\n\n\t\t\t\tbranch = branch._bvh_parent;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._hierarchy = sibling;\n\t\t}\n\n\t\tBVHBranch.releaseBranch(parent);\n\t}\n\n\t/**\n\t * Updates the BVH. Moved bodies are removed/inserted.\n\t */\n\tupdate() {\n\t\tconst bodies = this._bodies;\n\t\tconst count  = bodies.length;\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tconst body = bodies[i];\n\n\t\t\tlet update = false;\n\n\t\t\tif(!update && body.padding !== body._bvh_padding) {\n\t\t\t\tbody._bvh_padding = body.padding;\n\t\t\t\tupdate = true;\n\t\t\t}\n\n\t\t\tif(!update) {\n\t\t\t\tconst polygon = body._polygon;\n\n\t\t\t\tif(polygon) {\n\t\t\t\t\tif(\n\t\t\t\t\t\tbody._dirty_coords ||\n\t\t\t\t\t\tbody.x       !== body._x ||\n\t\t\t\t\t\tbody.y       !== body._y ||\n\t\t\t\t\t\tbody.angle   !== body._angle ||\n\t\t\t\t\t\tbody.scale_x !== body._scale_x ||\n\t\t\t\t\t\tbody.scale_y !== body._scale_y\n\t\t\t\t\t) {\n\t\t\t\t\t\tbody._calculateCoords();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst x      = body.x;\n\t\t\t\tconst y      = body.y;\n\t\t\t\tconst radius = polygon ? 0 : body.radius * body.scale;\n\t\t\t\tconst min_x  = polygon ? body._min_x : x - radius;\n\t\t\t\tconst min_y  = polygon ? body._min_y : y - radius;\n\t\t\t\tconst max_x  = polygon ? body._max_x : x + radius;\n\t\t\t\tconst max_y  = polygon ? body._max_y : y + radius;\n\n\t\t\t\tupdate = min_x < body._bvh_min_x || min_y < body._bvh_min_y || max_x > body._bvh_max_x || max_y > body._bvh_max_y;\n\t\t\t}\n\n\t\t\tif(update) {\n\t\t\t\tthis.remove(body, true);\n\t\t\t\tthis.insert(body, true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns a list of potential collisions for a body\n\t * @param {Circle|Polygon|Point} body The body to test\n\t * @returns {Array<Body>}\n\t */\n\tpotentials(body) {\n\t\tconst results = [];\n\t\tconst min_x   = body._bvh_min_x;\n\t\tconst min_y   = body._bvh_min_y;\n\t\tconst max_x   = body._bvh_max_x;\n\t\tconst max_y   = body._bvh_max_y;\n\n\t\tlet current       = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\tif(!current || !current._bvh_branch) {\n\t\t\treturn results;\n\t\t}\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(\n\t\t\t\t\tleft &&\n\t\t\t\t\tleft._bvh_max_x >= min_x &&\n\t\t\t\t\tleft._bvh_max_y >= min_y &&\n\t\t\t\t\tleft._bvh_min_x <= max_x &&\n\t\t\t\t\tleft._bvh_min_y <= max_y\n\t\t\t\t) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft    = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst right  = branch ? current._bvh_right : null;\n\n\t\t\tif(\n\t\t\t\tright &&\n\t\t\t\tright._bvh_max_x > min_x &&\n\t\t\t\tright._bvh_max_y > min_y &&\n\t\t\t\tright._bvh_min_x < max_x &&\n\t\t\t\tright._bvh_min_y < max_y\n\t\t\t) {\n\t\t\t\tcurrent       = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(!branch && current !== body) {\n\t\t\t\t\tresults.push(current);\n\t\t\t\t}\n\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent && parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent  = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn results;\n\t}\n\n\t/**\n\t * Draws the bodies within the BVH to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdraw(context) {\n\t\tconst bodies = this._bodies;\n\t\tconst count  = bodies.length;\n\n\t\tfor(let i = 0; i < count; ++i) {\n\t\t\tbodies[i].draw(context);\n\t\t}\n\t}\n\n\t/**\n\t * Draws the BVH to a CanvasRenderingContext2D's current path. This is useful for testing out different padding values for bodies.\n\t * @param {CanvasRenderingContext2D} context The context to draw to\n\t */\n\tdrawBVH(context) {\n\t\tlet current       = this._hierarchy;\n\t\tlet traverse_left = true;\n\n\t\twhile(current) {\n\t\t\tif(traverse_left) {\n\t\t\t\ttraverse_left = false;\n\n\t\t\t\tlet left = current._bvh_branch ? current._bvh_left : null;\n\n\t\t\t\twhile(left) {\n\t\t\t\t\tcurrent = left;\n\t\t\t\t\tleft    = current._bvh_branch ? current._bvh_left : null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst branch = current._bvh_branch;\n\t\t\tconst min_x  = current._bvh_min_x;\n\t\t\tconst min_y  = current._bvh_min_y;\n\t\t\tconst max_x  = current._bvh_max_x;\n\t\t\tconst max_y  = current._bvh_max_y;\n\t\t\tconst right  = branch ? current._bvh_right : null;\n\n\t\t\tcontext.moveTo(min_x, min_y);\n\t\t\tcontext.lineTo(max_x, min_y);\n\t\t\tcontext.lineTo(max_x, max_y);\n\t\t\tcontext.lineTo(min_x, max_y);\n\t\t\tcontext.lineTo(min_x, min_y);\n\n\t\t\tif(right) {\n\t\t\t\tcurrent       = right;\n\t\t\t\ttraverse_left = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet parent = current._bvh_parent;\n\n\t\t\t\tif(parent) {\n\t\t\t\t\twhile(parent && parent._bvh_right === current) {\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tparent  = current._bvh_parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n"
  },
  {
    "path": "src/modules/BVHBranch.mjs",
    "content": "/**\n * @private\n */\nconst branch_pool = [];\n\n/**\n * A branch within a BVH\n * @class\n * @private\n */\nexport default class BVHBranch {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = true;\n\n\t\t/** @private */\n\t\tthis._bvh_left = null;\n\n\t\t/** @private */\n\t\tthis._bvh_right = null;\n\n\t\t/** @private */\n\t\tthis._bvh_sort = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Returns a branch from the branch pool or creates a new branch\n\t * @returns {BVHBranch}\n\t */\n\tstatic getBranch() {\n\t\tif(branch_pool.length) {\n\t\t\treturn branch_pool.pop();\n\t\t}\n\n\t\treturn new BVHBranch();\n\t}\n\n\t/**\n\t * Releases a branch back into the branch pool\n\t * @param {BVHBranch} branch The branch to release\n\t */\n\tstatic releaseBranch(branch) {\n\t\tbranch_pool.push(branch);\n\t}\n\n\t/**\n\t * Sorting callback used to sort branches by deepest first\n\t * @param {BVHBranch} a The first branch\n\t * @param {BVHBranch} b The second branch\n\t * @returns {Number}\n\t */\n\tstatic sortBranches(a, b) {\n\t\treturn a.sort > b.sort ? -1 : 1;\n\t}\n};\n"
  },
  {
    "path": "src/modules/Body.mjs",
    "content": "import Result from './Result.mjs';\nimport SAT    from './SAT.mjs';\n\n/**\n * The base class for bodies used to detect collisions\n * @class\n * @protected\n */\nexport default class Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\t/**\n\t\t * @desc The X coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.x = x;\n\n\t\t/**\n\t\t * @desc The Y coordinate of the body\n\t\t * @type {Number}\n\t\t */\n\t\tthis.y = y;\n\n\t\t/**\n\t\t * @desc The amount to pad the bounding volume when testing for potential collisions\n\t\t * @type {Number}\n\t\t */\n\t\tthis.padding = padding;\n\n\t\t/** @private */\n\t\tthis._circle = false;\n\n\t\t/** @private */\n\t\tthis._polygon = false;\n\n\t\t/** @private */\n\t\tthis._point = false;\n\n\t\t/** @private */\n\t\tthis._bvh = null;\n\n\t\t/** @private */\n\t\tthis._bvh_parent = null;\n\n\t\t/** @private */\n\t\tthis._bvh_branch = false;\n\n\t\t/** @private */\n\t\tthis._bvh_padding = padding;\n\n\t\t/** @private */\n\t\tthis._bvh_min_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_min_y = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_x = 0;\n\n\t\t/** @private */\n\t\tthis._bvh_max_y = 0;\n\t}\n\n\t/**\n\t * Determines if the body is colliding with another body\n\t * @param {Circle|Polygon|Point} target The target body to test against\n\t * @param {Result} [result = null] A Result object on which to store information about the collision\n\t * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own potential collision heuristic)\n\t * @returns {Boolean}\n\t */\n\tcollides(target, result = null, aabb = true) {\n\t\treturn SAT(this, target, result, aabb);\n\t}\n\n\t/**\n\t * Returns a list of potential collisions\n\t * @returns {Array<Body>}\n\t */\n\tpotentials() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh === null) {\n\t\t\tthrow new Error('Body does not belong to a collision system');\n\t\t}\n\n\t\treturn bvh.potentials(this);\n\t}\n\n\t/**\n\t * Removes the body from its current collision system\n\t */\n\tremove() {\n\t\tconst bvh = this._bvh;\n\n\t\tif(bvh) {\n\t\t\tbvh.remove(this, false);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a {@link Result} used to collect the detailed results of a collision test\n\t */\n\tcreateResult() {\n\t\treturn new Result();\n\t}\n\n\t/**\n\t * Creates a Result used to collect the detailed results of a collision test\n\t */\n\tstatic createResult() {\n\t\treturn new Result();\n\t}\n};\n"
  },
  {
    "path": "src/modules/Circle.mjs",
    "content": "import Body from './Body.mjs';\n\n/**\n * A circle used to detect collisions\n * @class\n */\nexport default class Circle extends Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [radius = 0] The radius\n\t * @param {Number} [scale = 1] The scale\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, radius = 0, scale = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.radius = radius;\n\n\t\t/**\n\t\t * @desc\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale = scale;\n\t}\n\n\t/**\n\t * Draws the circle to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the arc to\n\t */\n\tdraw(context) {\n\t\tconst x      = this.x;\n\t\tconst y      = this.y;\n\t\tconst radius = this.radius * this.scale;\n\n\t\tcontext.moveTo(x + radius, y);\n\t\tcontext.arc(x, y, radius, 0, Math.PI * 2);\n\t}\n};\n"
  },
  {
    "path": "src/modules/Point.mjs",
    "content": "import Polygon from './Polygon.mjs';\n\n/**\n * A point used to detect collisions\n * @class\n */\nexport default class Point extends Polygon {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, padding = 0) {\n\t\tsuper(x, y, [[0, 0]], 0, 1, 1, padding);\n\n\t\t/** @private */\n\t\tthis._point = true;\n\t}\n};\n\nPoint.prototype.setPoints = undefined;\n"
  },
  {
    "path": "src/modules/Polygon.mjs",
    "content": "import Body from './Body.mjs';\n\n/**\n * A polygon used to detect collisions\n * @class\n */\nexport default class Polygon extends Body {\n\t/**\n\t * @constructor\n\t * @param {Number} [x = 0] The starting X coordinate\n\t * @param {Number} [y = 0] The starting Y coordinate\n\t * @param {Array<Number[]>} [points = []] An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t * @param {Number} [angle = 0] The starting rotation in radians\n\t * @param {Number} [scale_x = 1] The starting scale along the X axis\n\t * @param {Number} [scale_y = 1] The starting scale long the Y axis\n\t * @param {Number} [padding = 0] The amount to pad the bounding volume when testing for potential collisions\n\t */\n\tconstructor(x = 0, y = 0, points = [], angle = 0, scale_x = 1, scale_y = 1, padding = 0) {\n\t\tsuper(x, y, padding);\n\n\t\t/**\n\t\t * @desc The angle of the body in radians\n\t\t * @type {Number}\n\t\t */\n\t\tthis.angle = angle;\n\n\t\t/**\n\t\t * @desc The scale of the body along the X axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_x = scale_x;\n\n\t\t/**\n\t\t * @desc The scale of the body along the Y axis\n\t\t * @type {Number}\n\t\t */\n\t\tthis.scale_y = scale_y;\n\n\n\t\t/** @private */\n\t\tthis._polygon = true;\n\n\t\t/** @private */\n\t\tthis._x = x;\n\n\t\t/** @private */\n\t\tthis._y = y;\n\n\t\t/** @private */\n\t\tthis._angle = angle;\n\n\t\t/** @private */\n\t\tthis._scale_x = scale_x;\n\n\t\t/** @private */\n\t\tthis._scale_y = scale_y;\n\n\t\t/** @private */\n\t\tthis._min_x = 0;\n\n\t\t/** @private */\n\t\tthis._min_y = 0;\n\n\t\t/** @private */\n\t\tthis._max_x = 0;\n\n\t\t/** @private */\n\t\tthis._max_y = 0;\n\n\t\t/** @private */\n\t\tthis._points = null;\n\n\t\t/** @private */\n\t\tthis._coords = null;\n\n\t\t/** @private */\n\t\tthis._edges = null;\n\n\t\t/** @private */\n\t\tthis._normals = null;\n\n\t\t/** @private */\n\t\tthis._dirty_coords = true;\n\n\t\t/** @private */\n\t\tthis._dirty_normals = true;\n\n\t\tPolygon.prototype.setPoints.call(this, points);\n\t}\n\n\t/**\n\t * Draws the polygon to a CanvasRenderingContext2D's current path\n\t * @param {CanvasRenderingContext2D} context The context to add the shape to\n\t */\n\tdraw(context) {\n\t\tif(\n\t\t\tthis._dirty_coords ||\n\t\t\tthis.x       !== this._x ||\n\t\t\tthis.y       !== this._y ||\n\t\t\tthis.angle   !== this._angle ||\n\t\t\tthis.scale_x !== this._scale_x ||\n\t\t\tthis.scale_y !== this._scale_y\n\t\t) {\n\t\t\tthis._calculateCoords();\n\t\t}\n\n\t\tconst coords = this._coords;\n\n\t\tif(coords.length === 2) {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\t\t\tcontext.arc(coords[0], coords[1], 1, 0, Math.PI * 2);\n\t\t}\n\t\telse {\n\t\t\tcontext.moveTo(coords[0], coords[1]);\n\n\t\t\tfor(let i = 2; i < coords.length; i += 2) {\n\t\t\t\tcontext.lineTo(coords[i], coords[i + 1]);\n\t\t\t}\n\n\t\t\tif(coords.length > 4) {\n\t\t\t\tcontext.lineTo(coords[0], coords[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets the points making up the polygon. It's important to use this function when changing the polygon's shape to ensure internal data is also updated.\n\t * @param {Array<Number[]>} new_points An array of coordinate pairs making up the polygon - [[x1, y1], [x2, y2], ...]\n\t */\n\tsetPoints(new_points) {\n\t\tconst count = new_points.length;\n\n\t\tthis._points  = new Float64Array(count * 2);\n\t\tthis._coords  = new Float64Array(count * 2);\n\t\tthis._edges   = new Float64Array(count * 2);\n\t\tthis._normals = new Float64Array(count * 2);\n\n\t\tconst points = this._points;\n\n\t\tfor(let i = 0, ix = 0, iy = 1; i < count; ++i, ix += 2, iy += 2) {\n\t\t\tconst new_point = new_points[i];\n\n\t\t\tpoints[ix] = new_point[0];\n\t\t\tpoints[iy] = new_point[1];\n\t\t}\n\n\t\tthis._dirty_coords = true;\n\t}\n\n\t/**\n\t * Calculates and caches the polygon's world coordinates based on its points, angle, and scale\n\t */\n\t_calculateCoords() {\n\t\tconst x       = this.x;\n\t\tconst y       = this.y;\n\t\tconst angle   = this.angle;\n\t\tconst scale_x = this.scale_x;\n\t\tconst scale_y = this.scale_y;\n\t\tconst points  = this._points;\n\t\tconst coords  = this._coords;\n\t\tconst count   = points.length;\n\n\t\tlet min_x;\n\t\tlet max_x;\n\t\tlet min_y;\n\t\tlet max_y;\n\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tlet coord_x = points[ix] * scale_x;\n\t\t\tlet coord_y = points[iy] * scale_y;\n\n\t\t\tif(angle) {\n\t\t\t\tconst cos   = Math.cos(angle);\n\t\t\t\tconst sin   = Math.sin(angle);\n\t\t\t\tconst tmp_x = coord_x;\n\t\t\t\tconst tmp_y = coord_y;\n\n\t\t\t\tcoord_x = tmp_x * cos - tmp_y * sin;\n\t\t\t\tcoord_y = tmp_x * sin + tmp_y * cos;\n\t\t\t}\n\n\t\t\tcoord_x += x;\n\t\t\tcoord_y += y;\n\n\t\t\tcoords[ix] = coord_x;\n\t\t\tcoords[iy] = coord_y;\n\n\t\t\tif(ix === 0) {\n\t\t\t\tmin_x = max_x = coord_x;\n\t\t\t\tmin_y = max_y = coord_y;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif(coord_x < min_x) {\n\t\t\t\t\tmin_x = coord_x;\n\t\t\t\t}\n\t\t\t\telse if(coord_x > max_x) {\n\t\t\t\t\tmax_x = coord_x;\n\t\t\t\t}\n\n\t\t\t\tif(coord_y < min_y) {\n\t\t\t\t\tmin_y = coord_y;\n\t\t\t\t}\n\t\t\t\telse if(coord_y > max_y) {\n\t\t\t\t\tmax_y = coord_y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._x             = x;\n\t\tthis._y             = y;\n\t\tthis._angle         = angle;\n\t\tthis._scale_x       = scale_x;\n\t\tthis._scale_y       = scale_y;\n\t\tthis._min_x         = min_x;\n\t\tthis._min_y         = min_y;\n\t\tthis._max_x         = max_x;\n\t\tthis._max_y         = max_y;\n\t\tthis._dirty_coords  = false;\n\t\tthis._dirty_normals = true;\n\t}\n\n\t/**\n\t * Calculates the normals and edges of the polygon's sides\n\t */\n\t_calculateNormals() {\n\t\tconst coords  = this._coords;\n\t\tconst edges   = this._edges;\n\t\tconst normals = this._normals;\n\t\tconst count   = coords.length;\n\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tconst next   = ix + 2 < count ? ix + 2 : 0;\n\t\t\tconst x      = coords[next] - coords[ix];\n\t\t\tconst y      = coords[next + 1] - coords[iy];\n\t\t\tconst length = x || y ? Math.sqrt(x * x + y * y) : 0;\n\n\t\t\tedges[ix]   = x;\n\t\t\tedges[iy]   = y;\n\t\t\tnormals[ix] = length ? y / length : 0;\n\t\t\tnormals[iy] = length ? -x / length : 0;\n\t\t}\n\n\t\tthis._dirty_normals = false;\n\t}\n};\n"
  },
  {
    "path": "src/modules/Result.mjs",
    "content": "/**\n * An object used to collect the detailed results of a collision test\n *\n * > **Note:** It is highly recommended you recycle the same Result object if possible in order to avoid wasting memory\n * @class\n */\nexport default class Result {\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\t/**\n\t\t * @desc True if a collision was detected\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.collision = false;\n\n\t\t/**\n\t\t * @desc The source body tested\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.a = null;\n\n\t\t/**\n\t\t * @desc The target body tested against\n\t\t * @type {Circle|Polygon|Point}\n\t\t */\n\t\tthis.b = null;\n\n\t\t/**\n\t\t * @desc True if A is completely contained within B\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.a_in_b = false;\n\n\t\t/**\n\t\t * @desc True if B is completely contained within A\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.b_in_a = false;\n\n\t\t/**\n\t\t * @desc The magnitude of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap = 0;\n\n\t\t/**\n\t\t * @desc The X direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_x = 0;\n\n\t\t/**\n\t\t * @desc The Y direction of the shortest axis of overlap\n\t\t * @type {Number}\n\t\t */\n\t\tthis.overlap_y = 0;\n\t}\n};\n"
  },
  {
    "path": "src/modules/SAT.mjs",
    "content": "/**\n * Determines if two bodies are colliding using the Separating Axis Theorem\n * @private\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [aabb = true] Set to false to skip the AABB test (useful if you use your own collision heuristic)\n * @returns {Boolean}\n */\nexport default function SAT(a, b, result = null, aabb = true) {\n\tconst a_polygon = a._polygon;\n\tconst b_polygon = b._polygon;\n\n\tlet collision = false;\n\n\tif(result) {\n\t\tresult.a         = a;\n\t\tresult.b         = b;\n\t\tresult.a_in_b    = true;\n\t\tresult.b_in_a    = true;\n\t\tresult.overlap   = null;\n\t\tresult.overlap_x = 0;\n\t\tresult.overlap_y = 0;\n\t}\n\n\tif(a_polygon) {\n\t\tif(\n\t\t\ta._dirty_coords ||\n\t\t\ta.x       !== a._x ||\n\t\t\ta.y       !== a._y ||\n\t\t\ta.angle   !== a._angle ||\n\t\t\ta.scale_x !== a._scale_x ||\n\t\t\ta.scale_y !== a._scale_y\n\t\t) {\n\t\t\ta._calculateCoords();\n\t\t}\n\t}\n\n\tif(b_polygon) {\n\t\tif(\n\t\t\tb._dirty_coords ||\n\t\t\tb.x       !== b._x ||\n\t\t\tb.y       !== b._y ||\n\t\t\tb.angle   !== b._angle ||\n\t\t\tb.scale_x !== b._scale_x ||\n\t\t\tb.scale_y !== b._scale_y\n\t\t) {\n\t\t\tb._calculateCoords();\n\t\t}\n\t}\n\n\tif(!aabb || aabbAABB(a, b)) {\n\t\tif(a_polygon && a._dirty_normals) {\n\t\t\ta._calculateNormals();\n\t\t}\n\n\t\tif(b_polygon && b._dirty_normals) {\n\t\t\tb._calculateNormals();\n\t\t}\n\n\t\tcollision = (\n\t\t\ta_polygon && b_polygon ? polygonPolygon(a, b, result) :\n\t\t\ta_polygon ? polygonCircle(a, b, result, false) :\n\t\t\tb_polygon ? polygonCircle(b, a, result, true) :\n\t\t\tcircleCircle(a, b, result)\n\t\t);\n\t}\n\n\tif(result) {\n\t\tresult.collision = collision;\n\t}\n\n\treturn collision;\n};\n\n/**\n * Determines if two bodies' axis aligned bounding boxes are colliding\n * @param {Circle|Polygon|Point} a The source body to test\n * @param {Circle|Polygon|Point} b The target body to test against\n */\nfunction aabbAABB(a, b) {\n\tconst a_polygon = a._polygon;\n\tconst a_x       = a_polygon ? 0 : a.x;\n\tconst a_y       = a_polygon ? 0 : a.y;\n\tconst a_radius  = a_polygon ? 0 : a.radius * a.scale;\n\tconst a_min_x   = a_polygon ? a._min_x : a_x - a_radius;\n\tconst a_min_y   = a_polygon ? a._min_y : a_y - a_radius;\n\tconst a_max_x   = a_polygon ? a._max_x : a_x + a_radius;\n\tconst a_max_y   = a_polygon ? a._max_y : a_y + a_radius;\n\n\tconst b_polygon = b._polygon;\n\tconst b_x       = b_polygon ? 0 : b.x;\n\tconst b_y       = b_polygon ? 0 : b.y;\n\tconst b_radius  = b_polygon ? 0 : b.radius * b.scale;\n\tconst b_min_x   = b_polygon ? b._min_x : b_x - b_radius;\n\tconst b_min_y   = b_polygon ? b._min_y : b_y - b_radius;\n\tconst b_max_x   = b_polygon ? b._max_x : b_x + b_radius;\n\tconst b_max_y   = b_polygon ? b._max_y : b_y + b_radius;\n\n\treturn a_min_x < b_max_x && a_min_y < b_max_y && a_max_x > b_min_x && a_max_y > b_min_y;\n}\n\n/**\n * Determines if two polygons are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Polygon} b The target polygon to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction polygonPolygon(a, b, result = null) {\n\tconst a_count = a._coords.length;\n\tconst b_count = b._coords.length;\n\n\t// Handle points specially\n\tif(a_count === 2 && b_count === 2) {\n\t\tconst a_coords = a._coords;\n\t\tconst b_coords = b._coords;\n\n\t\tif(result) {\n\t\t\tresult.overlap = 0;\n\t\t}\n\n\t\treturn a_coords[0] === b_coords[0] && a_coords[1] === b_coords[1];\n\t}\n\n\tconst a_coords  = a._coords;\n\tconst b_coords  = b._coords;\n\tconst a_normals = a._normals;\n\tconst b_normals = b._normals;\n\n\tif(a_count > 2) {\n\t\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, a_normals[ix], a_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(b_count > 2) {\n\t\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\n\t\t\tif(separatingAxis(a_coords, b_coords, b_normals[ix], b_normals[iy], result)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if a polygon and a circle are colliding\n * @param {Polygon} a The source polygon to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @param {Boolean} [reverse = false] Set to true to reverse a and b in the result parameter when testing circle->polygon instead of polygon->circle\n * @returns {Boolean}\n */\nfunction polygonCircle(a, b, result = null, reverse = false) {\n\tconst a_coords       = a._coords;\n\tconst a_edges        = a._edges;\n\tconst a_normals      = a._normals;\n\tconst b_x            = b.x;\n\tconst b_y            = b.y;\n\tconst b_radius       = b.radius * b.scale;\n\tconst b_radius2      = b_radius * 2;\n\tconst radius_squared = b_radius * b_radius;\n\tconst count          = a_coords.length;\n\n\tlet a_in_b    = true;\n\tlet b_in_a    = true;\n\tlet overlap   = null;\n\tlet overlap_x = 0;\n\tlet overlap_y = 0;\n\n\t// Handle points specially\n\tif(count === 2) {\n\t\tconst coord_x        = b_x - a_coords[0];\n\t\tconst coord_y        = b_y - a_coords[1];\n\t\tconst length_squared = coord_x * coord_x + coord_y * coord_y;\n\n\t\tif(length_squared > radius_squared) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif(result) {\n\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\toverlap   = b_radius - length;\n\t\t\toverlap_x = coord_x / length;\n\t\t\toverlap_y = coord_y / length;\n\t\t\tb_in_a    = false;\n\t\t}\n\t}\n\telse {\n\t\tfor(let ix = 0, iy = 1; ix < count; ix += 2, iy += 2) {\n\t\t\tconst coord_x = b_x - a_coords[ix];\n\t\t\tconst coord_y = b_y - a_coords[iy];\n\t\t\tconst edge_x  = a_edges[ix];\n\t\t\tconst edge_y  = a_edges[iy];\n\t\t\tconst dot     = coord_x * edge_x + coord_y * edge_y;\n\t\t\tconst region  = dot < 0 ? -1 : dot > edge_x * edge_x + edge_y * edge_y ? 1 : 0;\n\n\t\t\tlet tmp_overlapping = false;\n\t\t\tlet tmp_overlap     = 0;\n\t\t\tlet tmp_overlap_x   = 0;\n\t\t\tlet tmp_overlap_y   = 0;\n\n\t\t\tif(result && a_in_b && coord_x * coord_x + coord_y * coord_y > radius_squared) {\n\t\t\t\ta_in_b = false;\n\t\t\t}\n\n\t\t\tif(region) {\n\t\t\t\tconst left     = region === -1;\n\t\t\t\tconst other_x  = left ? (ix === 0 ? count - 2 : ix - 2) : (ix === count - 2 ? 0 : ix + 2);\n\t\t\t\tconst other_y  = other_x + 1;\n\t\t\t\tconst coord2_x = b_x - a_coords[other_x];\n\t\t\t\tconst coord2_y = b_y - a_coords[other_y];\n\t\t\t\tconst edge2_x  = a_edges[other_x];\n\t\t\t\tconst edge2_y  = a_edges[other_y];\n\t\t\t\tconst dot2     = coord2_x * edge2_x + coord2_y * edge2_y;\n\t\t\t\tconst region2  = dot2 < 0 ? -1 : dot2 > edge2_x * edge2_x + edge2_y * edge2_y ? 1 : 0;\n\n\t\t\t\tif(region2 === -region) {\n\t\t\t\t\tconst target_x       = left ? coord_x : coord2_x;\n\t\t\t\t\tconst target_y       = left ? coord_y : coord2_y;\n\t\t\t\t\tconst length_squared = target_x * target_x + target_y * target_y;\n\n\t\t\t\t\tif(length_squared > radius_squared) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(result) {\n\t\t\t\t\t\tconst length = Math.sqrt(length_squared);\n\n\t\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\t\ttmp_overlap     = b_radius - length;\n\t\t\t\t\t\ttmp_overlap_x   = target_x / length;\n\t\t\t\t\t\ttmp_overlap_y   = target_y / length;\n\t\t\t\t\t\tb_in_a          = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst normal_x        = a_normals[ix];\n\t\t\t\tconst normal_y        = a_normals[iy];\n\t\t\t\tconst length          = coord_x * normal_x + coord_y * normal_y;\n\t\t\t\tconst absolute_length = length < 0 ? -length : length;\n\n\t\t\t\tif(length > 0 && absolute_length > b_radius) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif(result) {\n\t\t\t\t\ttmp_overlapping = true;\n\t\t\t\t\ttmp_overlap     = b_radius - length;\n\t\t\t\t\ttmp_overlap_x   = normal_x;\n\t\t\t\t\ttmp_overlap_y   = normal_y;\n\n\t\t\t\t\tif(b_in_a && length >= 0 || tmp_overlap < b_radius2) {\n\t\t\t\t\t\tb_in_a = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(tmp_overlapping && (overlap === null || overlap > tmp_overlap)) {\n\t\t\t\toverlap   = tmp_overlap;\n\t\t\t\toverlap_x = tmp_overlap_x;\n\t\t\t\toverlap_y = tmp_overlap_y;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(result) {\n\t\tresult.a_in_b    = reverse ? b_in_a : a_in_b;\n\t\tresult.b_in_a    = reverse ? a_in_b : b_in_a;\n\t\tresult.overlap   = overlap;\n\t\tresult.overlap_x = reverse ? -overlap_x : overlap_x;\n\t\tresult.overlap_y = reverse ? -overlap_y : overlap_y;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two circles are colliding\n * @param {Circle} a The source circle to test\n * @param {Circle} b The target circle to test against\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction circleCircle(a, b, result = null) {\n\tconst a_radius       = a.radius * a.scale;\n\tconst b_radius       = b.radius * b.scale;\n\tconst difference_x   = b.x - a.x;\n\tconst difference_y   = b.y - a.y;\n\tconst radius_sum     = a_radius + b_radius;\n\tconst length_squared = difference_x * difference_x + difference_y * difference_y;\n\n\tif(length_squared > radius_sum * radius_sum) {\n\t\treturn false;\n\t}\n\n\tif(result) {\n\t\tconst length = Math.sqrt(length_squared);\n\n\t\tresult.a_in_b    = a_radius <= b_radius && length <= b_radius - a_radius;\n\t\tresult.b_in_a    = b_radius <= a_radius && length <= a_radius - b_radius;\n\t\tresult.overlap   = radius_sum - length;\n\t\tresult.overlap_x = difference_x / length;\n\t\tresult.overlap_y = difference_y / length;\n\t}\n\n\treturn true;\n}\n\n/**\n * Determines if two polygons are separated by an axis\n * @param {Array<Number[]>} a_coords The coordinates of the polygon to test\n * @param {Array<Number[]>} b_coords The coordinates of the polygon to test against\n * @param {Number} x The X direction of the axis\n * @param {Number} y The Y direction of the axis\n * @param {Result} [result = null] A Result object on which to store information about the collision\n * @returns {Boolean}\n */\nfunction separatingAxis(a_coords, b_coords, x, y, result = null) {\n\tconst a_count = a_coords.length;\n\tconst b_count = b_coords.length;\n\n\tif(!a_count || !b_count) {\n\t\treturn true;\n\t}\n\n\tlet a_start = null;\n\tlet a_end   = null;\n\tlet b_start = null;\n\tlet b_end   = null;\n\n\tfor(let ix = 0, iy = 1; ix < a_count; ix += 2, iy += 2) {\n\t\tconst dot = a_coords[ix] * x + a_coords[iy] * y;\n\n\t\tif(a_start === null || a_start > dot) {\n\t\t\ta_start = dot;\n\t\t}\n\n\t\tif(a_end === null || a_end < dot) {\n\t\t\ta_end = dot;\n\t\t}\n\t}\n\n\tfor(let ix = 0, iy = 1; ix < b_count; ix += 2, iy += 2) {\n\t\tconst dot = b_coords[ix] * x + b_coords[iy] * y;\n\n\t\tif(b_start === null || b_start > dot) {\n\t\t\tb_start = dot;\n\t\t}\n\n\t\tif(b_end === null || b_end < dot) {\n\t\t\tb_end = dot;\n\t\t}\n\t}\n\n\tif(a_start > b_end || a_end < b_start) {\n\t\treturn true;\n\t}\n\n\tif(result) {\n\t\tlet overlap = 0;\n\n\t\tif(a_start < b_start) {\n\t\t\tresult.a_in_b = false;\n\n\t\t\tif(a_end < b_end) {\n\t\t\t\toverlap       = a_end - b_start;\n\t\t\t\tresult.b_in_a = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 < option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tresult.b_in_a = false;\n\n\t\t\tif(a_end > b_end) {\n\t\t\t\toverlap       = a_start - b_end;\n\t\t\t\tresult.a_in_b = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst option1 = a_end - b_start;\n\t\t\t\tconst option2 = b_end - a_start;\n\n\t\t\t\toverlap = option1 < option2 ? option1 : -option2;\n\t\t\t}\n\t\t}\n\n\t\tconst current_overlap  = result.overlap;\n\t\tconst absolute_overlap = overlap < 0 ? -overlap : overlap;\n\n\t\tif(current_overlap === null || current_overlap > absolute_overlap) {\n\t\t\tconst sign = overlap < 0 ? -1 : 1;\n\n\t\t\tresult.overlap   = absolute_overlap;\n\t\t\tresult.overlap_x = x * sign;\n\t\t\tresult.overlap_y = y * sign;\n\t\t}\n\t}\n\n\treturn false;\n}\n"
  },
  {
    "path": "webpack.config.js",
    "content": "const HtmlWebpackPlugin = require('html-webpack-plugin');\n\nmodule.exports = {\n\tentry : './demo/index.mjs',\n\n\tplugins : [\n\t\tnew HtmlWebpackPlugin({\n\t\t\tfilename : 'index.html',\n\t\t\ttitle    : 'Collisions - Collision detection for circles, polygons, and points',\n\t\t}),\n\t],\n\n\toutput : {\n\t\tpath     : `${__dirname}/docs/demo/`,\n\t\tfilename : 'index.js',\n\t},\n};\n"
  }
]